Compare commits

...

7015 Commits

Author SHA1 Message Date
Todd Gamblin
880e319cf6 Pull R list_urls from upstream. 2018-01-19 13:28:26 -08:00
Massimiliano Culpo
1cc9241030 Added flags to unit tests + OSX build done once per day (#6988)
* Adding flags to codecov reports

* OSX builds are triggered once a day
2018-01-19 11:59:43 -08:00
Todd Gamblin
9835f5077b Bump version to 0.11.1 2018-01-19 09:39:39 -08:00
becker33
4fb3b30d3e Fix type issues with setting flag handlers (#6960)
The flag_handlers method was being set as a bound method, but when
reset in the package.py file it was being set as an unbound method
(all python2 issues). This gets the underlying function information,
which is the same in either case.

The bug was uncovered for parmetis in #6858. This is a partial fix.
Included are changes to the parmetis package.py file to make use of
flag_handlers.
2018-01-19 09:39:38 -08:00
becker33
e0826804c2 Compiler flag handlers (#6415)
This adds the ability for packages to apply compiler flags in one of
three ways: by injecting them into the compiler wrapper calls (the
default in this PR and previously the only automated choice);
exporting environment variable definitions for variables with
corresponding names (e.g. CPPFLAGS=...); providing them as arguments
to the build system (e.g. configure).

When applying compiler flags using build system arguments, a package
must implement the 'flags_to_build_system_args" function. This is
provided for CMake and autotools packages, so for packages which
subclass those build systems, they need only update their flag
handler method specify which compiler flags should be specified as
arguments to the build system.

Convenience methods are provided to specify that all flags be applied
in one of the 3 available ways, so a custom implementation is only
required if more than one method of applying compiler flags is
needed.

This also removes redundant build system definitions from tutorial
examples
2018-01-19 09:32:24 -08:00
Todd Gamblin
c2a10a2aa2 Merge branch 'releases/v0.11.0' 2018-01-17 14:14:45 -08:00
Todd Gamblin
ba6c39310b Fix logo link in README.md to point to the develop branch. (#6969) 2018-01-17 09:07:40 -08:00
Todd Gamblin
974d166c8a Final changes for v0.11.0 (#6318) 2018-01-16 22:25:34 -08:00
scheibelp
7a0a907b5c elf relocation fix: cherry-picked from develop branch (#6889)
* Revert "Quick fix for relocation issues."

This reverts commit 57608a6dc4.

* Buildcache: relocate fixes (#6512)

* Updated function which checks if a binary file needs relocation.
  Previously this was incorrectly identifying ELF binaries as symbolic
  links (so they were being excluded from relocation). Added test to
  check that ELF binaries are not considered symlinks.

* relocate_text was not replacing paths in text files. Added test to
  check that text files are relocated properly (i.e. paths in the file
  are converted to the new prefix).

* Exclude backup files created by filter_file when installing from
  binary cache.

* Update write_buildinfo_file method signature to distinguish between
  the spec prefix and the working directory for the binary cache
  package.
2018-01-16 21:33:28 -08:00
Todd Gamblin
57608a6dc4 Quick fix for relocation issues. 2017-11-13 10:34:28 +00:00
Todd Gamblin
fffcd77662 Allow types and 'any' in variant definitions. (#4524)
- Previously variant values had to be a tuple or a callable predicate.

- This allows 'any' as shorthand for `lambda x: True` and type objects
  as shorthand for "any value of this type".

- Makes variant definitions more readable, keeps lambdas out of
  packages for common cases.
2017-11-13 00:22:59 -07:00
becker33
9b80f2fd38 basics tutorial: output updated (#6267)
* basics tutorial: output updated through gcc

* finished update for basics tutorial

* missed two lines

* doc error fix
2017-11-13 00:12:23 -07:00
Todd Gamblin
24d636eb30 Updates to build systems tutorial (#6273)
* Get rid of period in command

* formatting

* fix header

* Change GNU Make to Make

* Add variants
2017-11-13 00:11:55 -07:00
Mario Melara
2f1cbb5caa Add build systems tutorial for SC17 (#6125)
* First draft for SC17 build systems portion

Added tutorial_buildsystems.rst file as well as example files under
the tutorial/ directory.

* Remove floating `

* Add requested changes, and examples of subclasses

Added in the requested changes to the documentation. Also added in
information about the subclasses and the defaults that they provide.
Also fixed some phrasing issues, formatting and punctuation.

* Flake8 fixes and new files for classes

Made flake8 fixes to pass tests and also added files to demonstrate code
in the classes.

* Minor edits

Edits in formatting and made some sentence changes

* Flake8 fixes

More flake8 fixes

* Flake8 fix

* Change section order on tutorial and minor edits

Placed the section at the appropriate section for the tutorial and then
added some minor edits that were requested.

* Add requested changes and more details

Added more details to Cmake, Makefile and Python Packages.

* Fixed formatting and minor edits

* Fix doc build error
2017-11-12 23:24:18 -07:00
Adam J. Stewart
9db7eaade8 Last minute edits to the Configuration Tutorial (#6271) 2017-11-12 23:14:44 -07:00
becker33
b77acd0896 Add configuration tutorial for SC17 (#6141) 2017-11-12 20:12:57 -07:00
Matthew LeGendre
265c30b943 Update packaging tutorial (#6270)
* Allow types and 'any' in variant definitions.

- Previously variant values had to be a tuple or a callable predicate.

- This allows 'any' as shorthand for `lambda x: True` and type objects
  as shorthand for "any value of this type".

- Makes variant definitions more readable, keeps lambdas out of
  packages for common cases.

* Update packaging tutorial

* Fix bad file reference in packaging tutorial
2017-11-12 20:09:12 -07:00
becker33
b09341d861 binary packages: do post install hooks (#6269) 2017-11-12 17:57:10 -07:00
Massimiliano Culpo
1ab703448d SC17: advanced packaging tutorial (#6148)
* First draft of the advanced packaging tutorial

* advanced packaging tutorial: improved phrasing

Thanks Denis and Hartzell!

* Fixed typos + reworded a couple of sentences
2017-11-12 00:27:57 -08:00
Massimiliano Culpo
fe889124eb SC17: reworked module file tutorial section (#5657)
* Reworked module file tutorial section

First draft for the SC17 update. This includes:

 - adding an introduction on module files + Spack's module
   generation blueprints
 - adding a set-up section and provide a docker image for easy set-up
 - updating all the relevant snippets
 - extending a bit some of the concepts that were already touched

* Added reference to #5582 + committed Dockerfiles

Also fixed a couple of typos spotted by Denis.

* module file tutorial: added section on template customization

* module file tutorial: fixed minor typos + rephrased a sentence

* module file tutorial: made explicit that Docker image comes with software

* module file tutorial: improved phrasing and layout.

Thanks Hartzell!

* module file tutorial: added vim and nano to editors

* module file tutorial: fixed typo

* Fixed typos

Thanks Adam!

* module file tutorial: updated Dockerfile + minor changes in introduction
2017-11-12 00:27:20 -08:00
becker33
1008975bc0 Don't include build-only dependencies in build cache hash (#6262) 2017-11-11 20:54:17 -08:00
Satish Balay
6fd92e4257 petsc: update to version 3.8.2 (#6244)
Includes pkgconfig fix [for mfem static build failure]
2017-11-11 07:16:03 -07:00
Brian Homerding
19f8940c01 Nekbone: Installing data files for example runs (#6243)
* Nekbone: Installing data files for example runs

* Typo Fix
2017-11-10 19:59:33 -07:00
Sergey Kosukhin
263126bc5d Create symlink for 'swig' binary after installation. (#6240) 2017-11-10 19:50:11 -07:00
Aaron Fisher
af06ea0e74 Fixed mfem mpi build issue. (#6254)
* Fixed mfem mpi build issue.

* Fixed a non-mpi build issue and switched to the latest official MFEM release.
2017-11-10 19:49:17 -07:00
Yifan Zhu
e38f31e773 feature/r-reprex: new package (#6257) 2017-11-10 19:47:21 -07:00
Cyrus Harrison
b079e1dbd5 add alpine ascent (#6224)
* add ascent package and and deps

* proper use of site_packages_dir prop

* flake8

* add maitain, small updates

* flake8

* flake8

* fixs for docstrings for sphinx
2017-11-10 17:00:47 -08:00
scheibelp
8c458a856f Group flags and values separated by space (#6169)
Fixes #6154

For compiler options which set values using the syntax "-flag value"
(with a space between the flag and the flag's value) the flag and
value were treated as separate and reordered. This updates Spack's
logic to treat the flag and value as a single unit, even if there is
a space between them. It assumes that all flags are prefixed with
"-" and that all flag values are not.
2017-11-10 16:33:50 -08:00
becker33
917d021997 Add version 1.04 (#6259) 2017-11-10 15:52:48 -08:00
becker33
a7b817b494 elfutils: add --no-as-needed flag for library ordering issue (#6256)
* add --no-as-needed flag for library ordering issue libelf

* fix syntax error.
2017-11-10 11:42:37 -08:00
Yifan Zhu
f6ed8d856a xclip: created new package (#6248) 2017-11-10 11:13:00 -07:00
Yifan Zhu
a872dc5927 r-clipr: created new package (#6249) 2017-11-10 11:11:45 -07:00
Todd Gamblin
7dea7aad51 Add a code of conduct to Spack (#6251)
We're adopting the contributor covenant for now.  This isn't something we've needed to use yet, but it is good to have in case we actually do have a problem.
2017-11-09 21:18:58 -08:00
Patrick Gartung
124b5fc296 deal with case where symbolic links are copied (#6178)
* deal with case where symbolic links are copied

* Suggested changes
2017-11-09 14:38:12 -08:00
lingnanyuan
acc3817ffc r-purrr: Create new package. (#6241) 2017-11-09 14:51:30 -07:00
lingnanyuan
65a278c927 r-covr: Create new package. (#6239) 2017-11-09 13:19:53 -07:00
lingnanyuan
e43e29209d r-readxl: Create new package. (#6238) 2017-11-09 13:19:43 -07:00
lingnanyuan
0902f58f3d r-cellranger: Create new package. (#6237) 2017-11-09 13:19:25 -07:00
lingnanyuan
5e0e3092f6 r-rematch: Create new package. (#6236) 2017-11-09 13:19:12 -07:00
Satish Balay
2b07379831 petsc: when hdf5 depends on zlib - petsc+hdf5 should also be configur… (#6189)
* petsc: when hdf5 depends on zlib - petsc+hdf5 should also be configured with zlib

* petsc: fix dependency [of zlib to be on hdf5 - and not on petsc]

* petsc: use the fact that hdf5/package.py has a hard dependency on zlib [so no need to check for this dependency in code]

recommended-by: @davydden

* petsc: change hdf5 dependency to 'hdf5+hl' as petsc configure is looing for -lhdf5_hl

https://github.com/spack/spack/issues/5846
2017-11-09 11:34:59 -08:00
Satish Balay
8d512ce9ae magma: cuda updates [from xsdk-0.3.0 branch] (#6160)
- add gcc dependency per cuda versions
- Fix for cuda-9.0  as it does not support sm20

    nvcc fatal   : Unsupported gpu architecture 'compute_20'
2017-11-09 11:34:40 -08:00
Patrick Gartung
1484a94b1e spack buildcache: symlink and relative RPATH fixes (#6140)
* Skip rewriting files that are links (this also avoids issues with parsing
  the output of the 'file' command for symlinks)
* Fail rather than warn for several gpg signing issues (e.g. if there is no
  key available to sign with)
* Installation with 'buildcache install' only retrieves link and run
  dependencies (this matches 'buildcache create' which only creates tarballs
  of link/run dependencies)
* Don't rewrite RPATHs for a binary if the binary cached package was created
  with relative RPATHs
* Refactor relocate_binary to operate on multiple binaries (given as a
  collection of paths). This was likewise done for relocate_text and
  make_binary_relative
2017-11-09 10:53:34 -08:00
lingnanyuan
ee867db5de r-log4r: Create new package. (#6133) 2017-11-09 10:23:48 -07:00
Simone Bnà
c79a0fbbf2 mesa: fixed url for version (#5818) 2017-11-09 10:16:52 -07:00
Benedikt Riedel
266de67c24 ROOT needs to have a consistent version of binutils, as it is very sensitive to the version of libopcodes. You can't move the code from one system (with the same OS) as another. (#6226) 2017-11-09 06:49:27 -08:00
lingnanyuan
935a6b00d7 r-analysispageserver: Create new package. (#6135) 2017-11-09 07:23:10 -07:00
Levi Baber
74d38b3150 py-dlcpar (#6229)
* py-dlcpar: new package

* py-dlcpar: whitespace
2017-11-09 07:21:56 -07:00
baip
acf6653933 pexsi: add version 0.10.2 (#6232) 2017-11-09 07:21:39 -07:00
David Gardner
d9fc26b2a5 add sundials 3.1.0 (#6230) 2017-11-09 14:04:03 +01:00
Luigi Calori
24bb3c61de fix perl dependent modules, #5900 (#5937)
*  FIX perl dependent environmwent setup to avoid void lines in generated modules as #5900

* remove debug prints

* fix flake8
2017-11-08 22:10:50 -07:00
Alfredo Adolfo Gimenez
a754bd7eee Package/sosflow (#6122)
* Added missing deps to libffs

* SOSflow spack package pointing to sos_flow feature/spack branch

* Using tag for spack build

* Change url to spack/spack
2017-11-08 22:07:37 -07:00
David Gardner
a656bc300a add patch for building sundials (#6161)
* add patch for building sundials on mac

* add upper limit on the patch
2017-11-08 22:06:34 -07:00
Yifan Zhu
3159841e33 r-callr: created new package (#6223) 2017-11-08 21:59:21 -07:00
lingnanyuan
72bec9a7a0 r-rex: Create new package. (#6221) 2017-11-08 21:57:09 -07:00
Yifan Zhu
ca2ffd9299 r-rvest: created new package (#6220) 2017-11-08 21:56:50 -07:00
Levi Baber
ef126523f1 fastme: new package (#6219) 2017-11-08 21:56:32 -07:00
Yifan Zhu
edc1e6a0d8 r-selectr: created new package (#6218) 2017-11-08 21:56:02 -07:00
lingnanyuan
e57564e899 r-tseries: Create new package. (#6216) 2017-11-08 21:55:45 -07:00
sknigh
699748a2be Added missing build dependency to json-c (#6211) 2017-11-08 21:55:28 -07:00
lingnanyuan
e2004076b1 r-allelicimbalance: Create new package. (#6044) 2017-11-08 21:52:46 -07:00
Yifan Zhu
ac7f5a1af1 r-mzr: created new package (#6206) 2017-11-08 19:53:00 -07:00
Yifan Zhu
cd4b19ffa8 r-msnbase: new package (#6207) 2017-11-08 19:52:38 -07:00
lingnanyuan
912d39908d r-sqldf: Create new package. (#6208) 2017-11-08 19:52:08 -07:00
lingnanyuan
4585d6426a r-gsubfn: Create new package. (#6209) 2017-11-08 19:51:51 -07:00
Yifan Zhu
b110cd0b12 r-vsn: new package (#6210)
* r-hexbin: updated md5

* r-vsn: created new package
2017-11-08 19:51:35 -07:00
lingnanyuan
7848e0d4b6 r-quantmod: Update version to 0.4-11 (#6212) 2017-11-08 19:51:13 -07:00
Yifan Zhu
ecdaea1c8e r-xml2: created new package (#6217) 2017-11-08 19:50:53 -07:00
lingnanyuan
1c2292dcd4 r-timedate: Create new package. (#6215) 2017-11-08 19:50:37 -07:00
lingnanyuan
5558cce438 r-fracdiff: Create new package. (#6214) 2017-11-08 19:50:18 -07:00
lingnanyuan
2cd57876c7 r-forecast: Create new package. (#6213) 2017-11-08 19:49:58 -07:00
Christoph Junghans
b3f678c1c0 gasnet: add 1.30.0 (#6167)
* gasnet: add 1.30.0

* gasnet: expose more options as variants

* gasnet: change defaults
2017-11-08 19:43:13 -07:00
Audrey Thoma
877bee3cb5 guidance: new package (#6079)
* guidance: new package

* not really fixed yet

* adding loop

* fixing url

* dang typos
2017-11-08 14:07:13 -07:00
lingnanyuan
dd3a6d7f18 r-ampliqueso: Create new package. (#6132) 2017-11-08 14:05:53 -07:00
Yifan Zhu
96f70606e8 r-tiff: created new package (#6134) 2017-11-08 14:05:33 -07:00
lingnanyuan
f73b409968 r-anaquin: Create new package. (#6138) 2017-11-08 14:05:17 -07:00
lingnanyuan
2cba0d4d5f r-qvalue: Create new package. (#6137) 2017-11-08 14:05:00 -07:00
baip
4273ebac3c libxsmm: add libs property (#6193) 2017-11-08 14:04:26 -07:00
lingnanyuan
17b9a479b6 r-aneufinderdata: Create new package. (#6192) 2017-11-08 14:03:35 -07:00
lingnanyuan
bb619aa091 r-aneufinder: Create new package. (#6191) 2017-11-08 14:03:22 -07:00
Christoph Junghans
d8db861fec flecsi: fix build (#6168) 2017-11-08 14:03:05 -07:00
lingnanyuan
04f32377b2 r-rhtslib: Create new package. (#6164) 2017-11-08 14:02:12 -07:00
Audrey Thoma
3fcc911737 kraken: new package (#6163) 2017-11-08 14:01:55 -07:00
Audrey Thoma
743a87abb3 fpc: new package (#6162) 2017-11-08 14:01:31 -07:00
lingnanyuan
6556a5c914 r-cowplot: Create new package. (#6190) 2017-11-08 13:58:57 -07:00
Yifan Zhu
5f70d578ec r-maldiquant: created new package (#6188) 2017-11-08 13:58:43 -07:00
lingnanyuan
860834e094 r-reordercluster: Create new package. (#6187) 2017-11-08 13:58:21 -07:00
Yifan Zhu
605c8e65b3 r-mzid: created new package (#6186) 2017-11-08 13:58:04 -07:00
Yifan Zhu
98baf49ba6 r-xde: created new package (#6185) 2017-11-08 13:57:46 -07:00
lingnanyuan
3943bc945b r-ggdendro: Create new package. (#6184) 2017-11-08 13:57:30 -07:00
lingnanyuan
241e1b56b5 r-dnacopy: Create new package. (#6183) 2017-11-08 13:57:15 -07:00
Yifan Zhu
92a582d5f8 r-mergemaid: created new package (#6182) 2017-11-08 13:56:59 -07:00
lingnanyuan
146db9adef r-bamsignals: Create new package. (#6181) 2017-11-08 13:56:34 -07:00
Yifan Zhu
87aafeb78a r-xmapbridge: created new package (#6180) 2017-11-08 13:56:15 -07:00
Sergey Kosukhin
c7a855ba57 Missing dependency for 'cdo'. (#6175) 2017-11-08 13:55:57 -07:00
baip
ed00757265 gcc: add 5.5.0 (#6171) 2017-11-08 20:27:08 +01:00
Todd Gamblin
9c774cccde Add basic CONTRIBUTING.md that points to contribution guide docs (#6203) 2017-11-08 11:09:11 -08:00
vishalkenchan
392929ba77 lammps: add more packages (#6174)
* lammps : adding new varients and dependencies therein

* Update package.py

* removing trailing whitespaces
2017-11-08 09:01:14 -07:00
Matthew Scott Krafczyk
00d48e60bf Fix for nghttp2 installation (#5904)
nghttp2 depends on python, and requires the install directory to exist,
and contain the python module directory which it will eventually
install the python modules into.
2017-11-07 15:59:15 -08:00
James Dickson
841d42b308 TyphonIO: new package + Updated MACSio package (#6177) 2017-11-07 13:13:06 -07:00
Todd Gamblin
3a0324fe1a add artisanal handcrafted SVG Spack logo. (#6165)
- This isn't one of those autogenerated SVGs from a drawing program!

- This is a completely re-traced, minimalist SVG file with clearly
  delineated pieces so that your favorite renderer can draw a Spack logo
  at whatever resolution you want.

- Included versions with text, as well.
2017-11-06 22:42:16 -08:00
Johann Klähn
ac3a807f58 Fix spack view hardlink (#6130)
Fix a typo in "spack view hardlink" introduced in #5415
("os.hardlink" does not exist).
2017-11-06 19:19:27 -08:00
Audrey Thoma
8bae192d5c repeatmasker: new package (#6108) 2017-11-06 17:27:42 -07:00
Michael Kuhn
ca73103dac Introduce static_to_shared_library function (#6092)
The static_to_shared_library function takes an existing static library
and produces a shared library based on it.
2017-11-06 17:21:46 -07:00
Axel Huebl
54bb28ccb0 Docs: MPI as Root (#6156)
New versions of OpenMPI need `--allow-run-as-root` for
running as root:
  http://www.open-mpi.de/doc/v2.0/man1/mpirun.1.php#toc22
2017-11-06 13:03:46 -08:00
Satish Balay
dc78e60c83 trilinos: update hdf5 dependency to use 'hdf5+hl' (#6025)
* trilinos: update hdf5 dependency to use 'hdf5+hl'

Without this change - I get the following error [triggered by 161dca6d5 c9810f808 changes]

$ ./bin/spack install trilinos+hdf5
==> Error: An unsatisfiable variant constraint has been detected for spec:

    hdf5@1.10.1%gcc@7~cxx~debug~fortran~hl+mpi+pic+shared~szip~threadsafe arch=linux-fedora27-x86_64

while trying to concretize the partial spec:

    netcdf+mpi
        ^m4
        ^mpich@3.3a2%gcc@7 device=ch3 +hydra netmod=tcp +pmi+romio~verbs arch=linux-fedora27-x86_64
        ^zlib@1.2.11%gcc@7+optimize+pic+shared arch=linux-fedora27-x86_64

netcdf requires hdf5 variant +hl, but spec asked for ~hl

* fix flake8 warning
2017-11-06 13:03:06 -08:00
Luigi Calori
f0d33df3a9 some missing X11 "*proto" dependencies (#6158)
* fix xinput deps

* adding other x11 proto missing deps, see #6157
2017-11-06 13:02:05 -08:00
Satish Balay
436ebc4490 petsc: update petsc dependency on superlu-dist (#6159) 2017-11-06 12:52:10 -08:00
scheibelp
31c5467f56 Add back help placeholder for "spack load" (#6127)
Fixes #6126

#3183 removed the print_help function from the "modules" module.
This adds it back so that if a user invokes 'spack load foo' without
having sourced an environment setup script, they will be prompted
to do so. This also improves the placeholder message to tell the 
user to invoke 'spack' as shell function rather than as an executable.
2017-11-06 11:03:36 -08:00
Yifan Zhu
cd4d26705e Bioconductor package url change (#5797) 2017-11-06 11:17:59 -07:00
Michael Kuhn
450f2fa034 likwid: Use external lua if possible (#6009) 2017-11-06 11:14:34 -07:00
Douglas Duckworth
47b15feec3 added new package - MotionCor2 (#6151) 2017-11-06 11:09:46 -07:00
Denis Davydov
f538b7ac3e dealii: make sure bundled libs are not used (#6106) 2017-11-06 12:38:59 +01:00
Besnard Jean-Baptiste
84c6fea32e Graphviz : Add a GTS variant (#6149)
Enable support for the GNU Triangulated Surface Library

	- New variant +gts for graphviz
	- Optionnal dependency for GTS (already packaged)
2017-11-05 16:55:44 -08:00
Douglas Duckworth
ccc51cea7d added relion v 2.1 (#6023)
* added relion v 2.1

* relion 2.1 - misssed comma

* relion now pulling from master branch - removed 2.03 - added cuda 8 as dependency given 9 does not yet work with relion per https://github.com/3dem/relion/issues/296
2017-11-05 15:01:21 -08:00
Ben Boeckel
22df09315f Re-add list_url for all R packages (#6110)
* r-igraph: find old packages in the archive

Fixes #6104.

* r-irlba: find old packages in the archive

Fixes #6101.

* r-lazyeval: find old packages in the archive

Fixes #6102.

* packages: set list_url for all packages hosted on CRAN

* packages: consistently use the CRAN archive URLs
2017-11-05 13:42:24 -08:00
Adam Moody
2a8c97d440 dtcmp: add v1.1.0 (#6146) 2017-11-05 09:25:03 -08:00
Satish Balay
d34d0d6cbc petsc: update to version 3.8.1 (#6150)
* petsc: update to version 3.8.1

* petsc: add in conflict between petsc-3.8.0 & mkl
2017-11-05 09:24:42 -08:00
Axel Huebl
5d9dd24daa ISAAC 1.3.3 (#6152)
Add a new release of ISAAC.
2017-11-05 09:24:18 -08:00
Todd Gamblin
05fa302655 Replace github.com/llnl/spack with github.com/spack/spack (#6142)
We moved to a new GitHub org! Now make the code and docs reflect that.
2017-11-04 17:08:04 -07:00
vishalkenchan
386e0af089 add rol variant (#6105) 2017-11-04 12:14:46 -07:00
Yifan Zhu
9d234c4f8e r-yapsa: created new package (#6121) 2017-11-03 14:21:00 -06:00
Yifan Zhu
fb1160d052 r-keggrest: created new package (#6120) 2017-11-03 14:20:36 -06:00
lingnanyuan
3921948b03 r-statmod: Create new package. (#6119) 2017-11-03 14:20:14 -06:00
lingnanyuan
b204c7e793 r-deseq: Create new package. (#6118) 2017-11-03 14:19:38 -06:00
lingnanyuan
f91c25ddee r-samr: Create new package. (#6117) 2017-11-03 14:19:16 -06:00
lingnanyuan
d54627659a r-impute: Create new package. (#6116) 2017-11-03 14:18:46 -06:00
lingnanyuan
95e290eaf3 r-altcdfenvs: Create new package. (#6115) 2017-11-03 14:18:17 -06:00
lingnanyuan
64689bdb01 r-makecdfenv: Create new package. (#6114) 2017-11-03 14:17:58 -06:00
lingnanyuan
b614c7970b r-hypergraph: Create new package. (#6113) 2017-11-03 14:17:36 -06:00
Johann Klähn
3fc8a71afb Fix restaging of resources (#5681)
Part of the resource staging process is to place downloaded/expanded
files in the root stage. This was not happening when a resource stage
was restaged.
2017-11-03 11:29:43 -07:00
Todd Gamblin
12f0725e9f spack fetch: don't fetch externals. (#6124)
Fixes #6123

spack fetch shouldn't attempt to fetch external deps when invoked
with --dependencies.
2017-11-03 10:15:15 -07:00
Axel Huebl
5a4544ab05 ISAAC 1.3.2 (#6129)
Add a new release of ISAAC.
2017-11-03 14:58:38 +01:00
Michael Kuhn
bd7d61325f Configure user for mock Git repository (#6128)
If user.useConfigOnly is set globally and no name or e-mail is
configured, the git_fetch tests fail.
2017-11-02 21:43:28 -07:00
Ben Boeckel
0f896e921f test_activations: also test perl activations 2017-11-02 18:45:40 -07:00
Peter Scheibel
3a2a0c9ad4 test_activations: test Python's extension logic 2017-11-02 18:45:40 -07:00
Peter Scheibel
dde93c01cf spec: support a test prefix
This is used in tests to test real packages without actually building
and installing them.
2017-11-02 18:45:40 -07:00
Ben Boeckel
be01b2d5f0 aspell: refuse to work with non-global extensions
Aspell compiles in the paths it looks for rather than looking relative
to its binary location. There are also no environment variables to
redirect it other than changing the path to the configuration file it
looks at.
2017-11-02 18:45:40 -07:00
Ben Boeckel
a81485cb3f perl: support extensions in views 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
643a28aac5 python: extensions support for easy-install.pth 2017-11-02 18:45:40 -07:00
Ben Boeckel
d5a3d9d20e view: test conflicting packages in views 2017-11-02 18:45:40 -07:00
Ben Boeckel
13b669de8e view: test that extension paths exist 2017-11-02 18:45:40 -07:00
Ben Boeckel
a06c6b0366 filesystem_view: reject packages with activations
If there are extensions that are globally activated, reject adding them
to a view. Those extensions should not be implicitly activated.
2017-11-02 18:45:40 -07:00
Ben Boeckel
26724688b1 view: test viewing external packages 2017-11-02 18:45:40 -07:00
Ben Boeckel
ea62347c46 view: add a test for extension activation 2017-11-02 18:45:40 -07:00
Ben Boeckel
41dfba0ba1 extension1: add a second version 2017-11-02 18:45:40 -07:00
Ben Boeckel
4511d9d924 extensions: support only showing a subset of information 2017-11-02 18:45:40 -07:00
Ben Boeckel
b7ec870c3b extensions: support acting on a view
This allows extensions to be (de)activated and queried within a view
rather than only acting on the global installation.
2017-11-02 18:45:40 -07:00
Oliver Breitwieser
db529f5b61 view: use the FilesystemView abstraction for creating views 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
af42c24ef5 view: fix some docstrings for arguments 2017-11-02 18:45:40 -07:00
Ben Boeckel
9a39efd966 filesystem_view: do not link external packages 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
538d855e1b filesystem_view: add a class to handle a view via a Yaml description 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
21dc31a4a1 package: support removing dependencies when deactivating 2017-11-02 18:45:40 -07:00
Ben Boeckel
f50ddeed9f conftest: mock out spack.store.extensions as well 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
078f85a125 views: support querying view layouts as well
This abstracts out the layout in use between the global installations
and a specific view.
2017-11-02 18:45:40 -07:00
Oliver Breitwieser
00a893aa79 link_tree: support choosing the link function
This can be used to make hardlinks rather than symlinks.
2017-11-02 18:45:40 -07:00
Oliver Breitwieser
9024ddcf05 link_tree: support ignoring conflicts 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
20cd82dc56 directory_layout: add a YamlExtensionsLayout class
This uses a view to query extensions.
2017-11-02 18:45:40 -07:00
Oliver Breitwieser
94c0740a88 link_tree: only remove matching files when unmerging 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
b9e8402104 directory_layout: factor out an ExtensionsLayout class 2017-11-02 18:45:40 -07:00
Ben Boeckel
650ca7db9e extensions: add an installed_extensions_for method 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
56bafdc282 database: rename installed_extensions_for
Views support activating packages, so rename the method because it will
soon query what is activated versus what is installed.
2017-11-02 18:45:40 -07:00
Oliver Breitwieser
70d3558596 package: support verbosity when activating 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
af0cf2d3c6 package: rename activated to is_activated
This allows the activation code to be later given parameters.
2017-11-02 18:45:40 -07:00
Ben Boeckel
f31b47c353 cmd/test: fix a typo in a comment 2017-11-02 18:45:40 -07:00
Ben Boeckel
6f9bf197a5 spec_yaml: fix a typo 2017-11-02 18:45:40 -07:00
Oliver Breitwieser
28cc077ef6 view: fix a typo 2017-11-02 18:45:40 -07:00
Ben Boeckel
76305038ef determine full compiler version for gcc-7
Fixes #5778.

Spack uses 'gcc -dumpversion' to determine the full version of gcc.
'gcc -dumpversion' no longer gives the full version on gcc 7.2.0.
'gcc -dumpfullversion' is required instead. This PR detects when
'gcc -dumpversion' gives a truncated version of '7' and in that
case retrieves the full version with 'gcc -dumpfullversion'
2017-11-02 18:44:10 -07:00
Ben Boeckel
a7925bb927 bdftopcf: require xproto and fontsproto at build time (#6112)
These are technically "link" depends of libxfont, but they have no
actual libraries.

Fixes #5936.
2017-11-02 15:47:18 -06:00
lingnanyuan
13f1781bea Add package r-reportingtools and update url for its dependencies. (#6071)
* r-reportingtools: Create new package.

* r-go-db: Update url.

* r-gseabase: Update url.

* r-pfam-db: Update url.
2017-11-02 14:21:32 -06:00
Michael Kuhn
d1db161aeb adios: Fix hdf5 and sz dependencies (#6016)
- hdf5's +hl variant is required because the build uses libhdf5_hl.
- sz is only compatible up to version 1.4.10 because the library has
  been renamed to libSZ in 1.4.11.
2017-11-02 13:41:25 -06:00
Brice Goglin
3a1b013291 hwloc: add version 1.11.8 (#6099)
Signed-off-by: Brice Goglin <Brice.Goglin@inria.fr>
2017-11-02 13:40:46 -06:00
Audrey Thoma
f9341857c7 arlecore: new package (#6109) 2017-11-02 13:40:03 -06:00
Todd Gamblin
c96f2e50a6 Only use XCode clang wrappers for packages that set use_xcode=True (#6077) 2017-11-02 09:19:23 -07:00
Christoph Junghans
c4db3d384e gromacs: add develop version (#6098) 2017-11-02 15:16:21 +01:00
Adam J. Stewart
e47ceefc43 sundials+hypre depends on hypre (#6075) 2017-11-02 08:16:43 +01:00
Denis Davydov
11ba60413b the-silver-searcher: add missing dependency (#6095) 2017-11-02 08:10:40 +01:00
Michael Kuhn
61ed583266 xqilla: Use append instead of extend (#6094) 2017-11-02 08:09:24 +01:00
Brian Van Essen
932068d725 Update candle (#6097) 2017-11-01 23:58:55 -06:00
scheibelp
3eb59f6932 update filename used for cc wrapper invocation debug log (#5837)
The name of the debug log written by the cc compiler wrapper was given
by Spec.short_spec, which includes the architecture. Somewhere along
the line Spec.format started adding spaces around the architecture
property so the filename started including spaces; the cc wrapper
script appears to ignore this, so files like spack-cc-bzip2-....in.log
(which record the wrapped compiler invocations) were not being
generated. This uses a different format string from the spec to
generate the wrapper log file names (which does not include spaces).
2017-11-01 20:11:00 -07:00
scheibelp
60a485591c Fix user specs which include already-installed packages (#5939)
* when a user-provided spec refers to an already-installed package, packages with patches applied were causing validation errors based on the recorded variants in the package's class

* avoid checks on all reserved variants (not just 'patches')
2017-11-01 18:44:31 -07:00
Yifan Zhu
7d0c6361ee r-getoptlong: created new package (#6069) 2017-11-01 19:09:54 -06:00
Yifan Zhu
f15969d624 r-gtrellis: created new package (#6088) 2017-11-01 19:09:20 -06:00
Brian Van Essen
86b7b84ddf LBANN flags and OpenCV variant (#5951)
* Fixed the datatype flag in the LBANN package.
Fixed where the datatype flag should be set.

* Added variant to OpenCV to disable building DNN support

* Fixed a bug in how the elemental package tries to find its Fortran
library.  The current method does not work with Intel compilers.

* Added necessary paths for cuDNN and CUB.

* Addressed flake8 issues in Elemental package.

* Fixed several flake8 errors.  Added variant to build with or without
support for arbitrary-precision floating point arithmetic.

* Added the proper CMake flag when MPFR support is disabled.

* Fixed a bug in how the cudnn path was being set when there was no
cudnn requested.  Also requested that OpenCV is built without eigen
support.

* Fixed another bug where a dependency may not be there and thus should
not be always checked.
2017-11-01 17:25:28 -07:00
Michael Kuhn
0d624eac55 lua: Build a shared library (#6008)
Patch is inspired by Arch Linux and Homebrew.
2017-11-01 17:10:14 -06:00
Yifan Zhu
f3af8272f5 r-circlize: new package (#6087) 2017-11-01 17:08:46 -06:00
lingnanyuan
ef240f59b8 r-alsace: Create new package. (#6064) 2017-11-01 17:04:56 -06:00
Yifan Zhu
26ade0c9ae r-globaloptions: new package (#6068) 2017-11-01 17:04:38 -06:00
lingnanyuan
a05cca49d8 r-affycoretools: Create new package and its dependency r-ff. (#6082)
* r-ff: Create new package

* r-affycoretools: Create new package.

* r-ff: update url.
2017-11-01 17:04:17 -06:00
lingnanyuan
541818ed06 r-agimicrorna: Create new package. (#6083) 2017-11-01 17:03:48 -06:00
Yifan Zhu
616a43b76d r-complexheatmap: created new package (#6084) 2017-11-01 17:03:30 -06:00
Yifan Zhu
ebff5086d7 r-shape: created new package (#6086) 2017-11-01 17:03:15 -06:00
Yifan Zhu
7fb6fbea54 r-pmcmr: new package (#6085) 2017-11-01 17:02:58 -06:00
Brian Van Essen
0c075b4923 Opencv eigen (#6014)
* Added a package for the MDAnalysis toolkit.

* Changed dependency for the eigen library to not include support for
multiple-precision (arbitrary-precision) floating point arithmetic,
since OpenCV does not support these data types.

* Fixed incorrect implementation
2017-11-01 13:50:06 -07:00
Mark Grondona
165e6bfe5f flux: update flux-core to v0.8.0 (#5914)
* dockbook: remove update to dependent environment

Remove override of setup_dependent_environment in both docbook-xml
and docbook-xsl, which seems to generate a warning from spack about
"Suspicious requests to set or unset 'XML_CATLOG_FILES' found."

* flux: update version/dependencies to 0.8.0

Update flux-core to v0.8.0. Clean up dependencies and remove unneeded
extra invocation of ./autogen.sh when building from @master.

* flux: modify environment for Lua tests

Modify Spack environment to add `./?.lua` to LUA_PATH so that
fluxometer.lua can be found by tests during `make check` run
from `spack install --tests all flux`

* flux: fix broken flux version when on master

When building @master with spack, the flux version test from
`make check` fails because spack is using a shallow clone. Add
a setup section for @master that calls git pull --depth=50 --tags
to pull down tags and (hopefully) enough information for git-describe
to work properly.
2017-11-01 08:53:37 -07:00
Satish Balay
445ffc46a1 mfem does not use cmake for builds [anymore] - so remove code corresponding to this dependency. (#6073)
This enables mfem build on OSX [with xcode/clang compilers]
2017-11-01 08:52:03 -07:00
Elsa Gonsiorowski
b53adc90f7 MACSio and JSON-CWX packages (#6018) 2017-10-31 19:07:00 -06:00
Patrick Gartung
8a812294e0 Preinstall some llvm shared libraries so tblgen will work. (#5988) 2017-10-31 18:34:33 -06:00
Yifan Zhu
0ecef7d7f8 r-somaticsignatures: created new package (#6065) 2017-10-31 18:31:06 -06:00
lingnanyuan
1ec8f6ea3f r-nloptr: Create new package. (#6063) 2017-10-31 18:30:49 -06:00
lingnanyuan
cfb685aa32 r-ptw: Create new package. (#6062) 2017-10-31 18:29:45 -06:00
lingnanyuan
aa1808c9a1 r-iso: Create new package. (#6061) 2017-10-31 16:17:53 -06:00
lingnanyuan
6af19477ef r-nnls: Create new package. (#6060) 2017-10-31 16:17:36 -06:00
lingnanyuan
77b29288e6 r-als: Create new package. (#6059) 2017-10-31 16:17:21 -06:00
Yifan Zhu
10fcd9382a r-ggbio: new package (#6058) 2017-10-31 16:17:07 -06:00
Bill Williams
f5e68879db Fix spack build for RAJA: master requires submodules (#6052)
* Fix spack build for RAJA: master requires submodules

* Rename version: git to develop
2017-10-31 15:08:32 -06:00
Scott Wittenburg
3cb2d5341d Fix incorrect checksum value for adios2 tarball (#6054) 2017-10-31 15:08:08 -06:00
lingnanyuan
6427406fc6 r-gviz: Create new package. (#6043) 2017-10-31 15:06:30 -06:00
Brian Homerding
8a86016bef Added fftw dependency (#6057) 2017-10-31 14:33:01 -06:00
Brian Homerding
180dcfc652 sw4lite: Added -lgfortran and set to serial build (#6055)
* Added -lgfortran and set to serial build

* Update package.py
2017-10-31 14:29:06 -06:00
Christoph Junghans
d98e337706 ecp-proxy-suite: add nekbone and candle-benchmarks (#6053) 2017-10-31 13:11:08 -06:00
Christoph Junghans
182c11dd92 nekbone: add v17 (#5978) 2017-10-31 10:47:24 -06:00
Christoph Junghans
178107699c candle-benchmarks: initial commit (#6020) 2017-10-31 09:11:04 -06:00
Christoph Junghans
ea35f49cdd flang: fixed a typo (#6048) 2017-10-31 14:21:29 +01:00
Nils Deppe
4997291bf4 Add v3.2 of Blaze library (#5992) 2017-10-31 08:33:55 +01:00
George Hartzell
e69542c019 Fix tarball URL's for htslib (#5993)
A recent update (#5907) to htslib added a different URL for an old
version of htslib.

Now the package is using that URL as the pattern for the newer
versions too.

I have a vague memory of running into this before, that it's a known
issue.

This fixes it by adding an explicit `url_for_version` routine.
2017-10-30 22:49:52 -06:00
David Gardner
10b27ec788 sundials: update to v3.0.0 (#6004) 2017-10-30 22:49:13 -06:00
Jon Rood
50d932d9f1 Merging netcdf dependency lines in trilinos into one line for better coverage. (#5990) 2017-10-30 22:48:21 -06:00
Satish Balay
f5863d6708 superlu_dist: update to v5.2.2 (#6024) 2017-10-30 22:46:41 -06:00
Yifan Zhu
a31a1fef28 r-progress: new package (#6034)
* r-progress: created new package

* added version
2017-10-30 22:43:57 -06:00
Yifan Zhu
a97068a861 r-prettyunits: created new package (#6033) 2017-10-30 22:43:20 -06:00
lingnanyuan
6ddba08434 r-seqinr: Update version to 3.4-5 (#6032) 2017-10-30 22:42:51 -06:00
Yifan Zhu
8cc3bcb649 r-ggplot2: dependecy r-scales version should be 0.4.1: (#6031) 2017-10-30 22:42:31 -06:00
Yifan Zhu
fb072d1472 r-scales: added dependencies and version 0.5.0. (#6030)
* r-scales: Update url.

* r-scales: added version 0.5.0 and dependencies
2017-10-30 22:42:05 -06:00
lingnanyuan
7e4ac9a559 r-segmented: Update version to 0.5-2.2 (#6029) 2017-10-30 22:41:32 -06:00
Yifan Zhu
34c6ff10e9 r-ggally: new package (#6036)
* r-ggally: created new package

* r-ggally: version modified
2017-10-30 22:41:12 -06:00
lingnanyuan
65785cc3f5 r-speedglm: Create new package. (#6035) 2017-10-30 22:40:48 -06:00
lingnanyuan
a4138b6041 r-alpine: Create new package. (#6037) 2017-10-30 22:40:25 -06:00
Yifan Zhu
22f9125164 r-ensembldb: created new package (#6038) 2017-10-30 22:39:54 -06:00
Yifan Zhu
2a7027e2cc r-pcamethods: created new package (#6041) 2017-10-30 22:39:29 -06:00
Yifan Zhu
cbb433655c r-proxy: created new package (#6039) 2017-10-30 22:39:05 -06:00
lingnanyuan
8271434632 r-backports: Create new package. (#6040) 2017-10-30 22:38:35 -06:00
lingnanyuan
81d3c9fdc6 r-biovizbase: Create new package. (#6042) 2017-10-30 22:38:10 -06:00
Abhinav Bhatele
b37c8fef74 ecp-proxy-apps: release number changed to 1.0 (#6049) 2017-10-30 22:37:09 -06:00
scheibelp
e5b8312de3 Auto install available pre-built packages from binary cache (#5242)
* basic functionality to install spec from a binary cache when it's available; this spiders each cache for each package and could likely be more efficient by caching the results of the first check

* add spec to db after installing from binary cache

* cache (in memory) spec listings retrieved from binary caches

* print a warning vs. failing when no mirrors are configured to retrieve pre-built Spack packages

* make automatic retrieval of pre-built spack packages from mirrors optional

* no code was using the links stored in the dictionary returned by get_specs, so this simplifies the logic to return only a set of specs

* print package prefix after installing from binary cache

* provide more information to user on install progress
2017-10-30 14:16:46 -07:00
Abhinav Bhatele
347c76b7a0 comd: update the git repo (#6027)
git repo has moved from exmatex to ECP-copa
2017-10-30 14:47:16 -06:00
George Hartzell
e6bc45a04a Add bowtie2@2.3.0, fix dependencies and sbangs (#5834)
* Add bowtie2@2.3.0, fix dependencies and sbangs

Add support for bowtie2@2.3.0

- digest
- a patch for 2.3.0 that parallels the existing package.  Truth be
  told it builds (for me) without this, but I'm assuming that they're
  there for a reason...).
- tune up dependencies
  - need tbb
  - don't need readline or zlib

Several things were installed with sbang's that use `/usr/bin/env` to
fine perl or python.  Fix the dependency and clean up the sbang lines.

* Fix python exe name, avoid path banging

I'd cut and pasted the python bit from the perl bit and missed one
reference to perl.

While I'm there, use the cleaner `spec['perl'].command` instead of
banging together the path from its bits.

* Fix up the "when" constraints on the dependencies

Get the edge cases right.

- 2.2.5 doesn't need tbb, 2.3.[01] do.
- 2.3.1 needs readline and zlib.
2017-10-29 15:40:00 -06:00
Denis Davydov
957ded209a add updated 2017 versions of Intel packages (#5957) 2017-10-29 15:38:10 -06:00
mmwolf
73fb02229a Changed from setting C compiler to setting C++ compiler (#6011) 2017-10-29 07:42:27 -06:00
Denis Davydov
f6a8ae230e dealii: remove bzip2 dependency for newer versions (#6022) 2017-10-29 07:39:51 -06:00
Yifan Zhu
56c7832789 r-iranges: changed url to git and added versioned dependency on r (#5971) 2017-10-28 12:14:33 -06:00
Audrey Thoma
f340333e6e r-geomorph and other r fixes (#5961) 2017-10-28 12:13:38 -06:00
lingnanyuan
57611397c9 r-e1071: Add list_url. (#5986) 2017-10-28 12:12:52 -06:00
Michael Kuhn
b43e2d2546 likwid: Update checksum (#6007) 2017-10-28 12:12:21 -06:00
Yifan Zhu
43c1bb5f30 r-organismdbi: new package (#5997) 2017-10-28 12:11:44 -06:00
lingnanyuan
3eab6ed4b2 r-aldex2: Create new package. (#6015) 2017-10-28 12:10:22 -06:00
Christoph Junghans
167f7d0cdd legion: add v17.10.0 (#6019) 2017-10-28 12:09:39 -06:00
Audrey Thoma
edae3ceae7 fixing abyss (#5973) 2017-10-28 17:05:52 +02:00
Sergey Kosukhin
5ebddcd5e3 Bugfix: from_list_url(). (#5780)
This fixes a bug in from_list_url where it was referring to a method
which no longer exists. This also adds a test for the from_list_url
function.
2017-10-27 17:41:41 -07:00
Christoph Junghans
95c8ecb6f5 libaec: add v1.0.2 and generic url (#6017) 2017-10-27 18:22:27 -06:00
Matthias Diener
45bfcfa30a Byobu: new package (#5974) 2017-10-27 10:43:45 -07:00
Christoph Junghans
f9599c1772 ecp-proxy-apps: add more package (#6003) 2017-10-27 08:34:52 -06:00
Christoph Junghans
c97bf0486c SWFFT: initial commit (#5953)
* SWFFT: initial commit

* swfft: fix build target

* swfft: add v1.0

* Update package.py
2017-10-27 07:20:29 -06:00
Christoph Junghans
13b41cd53c comd: add v1.1 (#5994)
* comd: add v1.1

* Update package.py

* remove serial variant, now ~mpi

* Update package.py
2017-10-27 07:20:18 -06:00
lingnanyuan
222fee1cb3 r-graph: Create new package. (#5958) 2017-10-27 08:34:33 +02:00
lingnanyuan
f244653496 r-category: Create new package. (#5959) 2017-10-27 08:34:16 +02:00
lingnanyuan
715a679245 r-methodss3: Create new package. (#5960) 2017-10-27 08:32:20 +02:00
lingnanyuan
737f9eee5c r-oo: Create new package. (#5962) 2017-10-27 08:31:46 +02:00
lingnanyuan
f676d8f3d7 r-utils: Create new package. (#5964) 2017-10-27 08:31:26 +02:00
lingnanyuan
3bb4572e81 r-pfam-db: Create new package. (#5965) 2017-10-27 08:27:19 +02:00
lingnanyuan
95ece343c4 r-oligoclasses: Create new package. (#5966) 2017-10-27 08:26:25 +02:00
Yifan Zhu
3ea6a11043 r-interactivedisplaybase: created new package (#5967) 2017-10-27 08:26:02 +02:00
lingnanyuan
c672b2b191 r-annotationforge: Create new package. (#5968) 2017-10-27 08:25:12 +02:00
lingnanyuan
57528fddbb r-gostats: Create new package. (#5969) 2017-10-27 08:24:49 +02:00
Audrey Thoma
835e6107fe r-mcmcglmm: new package (#5970) 2017-10-27 08:24:28 +02:00
Yifan Zhu
7b0fd6510c r-annotationhub: created new package (#5972) 2017-10-27 08:23:25 +02:00
Denis Davydov
c2094a11e3 gnuplot: add 5.2.0 and 5.0.7 (#5979) 2017-10-27 08:20:34 +02:00
lingnanyuan
dc8a0e8410 r-deseq2: Create new package. (#5981) 2017-10-27 08:16:40 +02:00
lingnanyuan
1de2109a5a r-agdex: Create new package. (#5983) 2017-10-27 08:16:04 +02:00
lingnanyuan
82b1731ded r-agilp: Create new package. (#5984) 2017-10-27 08:15:39 +02:00
lingnanyuan
7c56318cb5 r-aims: Create new package. (#5987) 2017-10-27 08:14:55 +02:00
George Hartzell
55b79dca8c Add info for go@1.9.2 (#5989)
The go team released 1.9.2 which includes fixes for some things
that 1.9.1 broke:

> ... include fixes to the compiler, linker, runtime, documentation, go command, and the crypto/x509, database/sql, log, and net/smtp packages. They include a fix to a bug introduced in Go 1.9.1 and Go 1.8.4 that broke "go get" of non-Git repositories under certain conditions.
2017-10-27 08:13:33 +02:00
Yifan Zhu
3849401d85 r-annotationfilter: created new package (#5995) 2017-10-27 08:09:31 +02:00
Yifan Zhu
0c2a691b1b r-protgenerics: created new package (#5998) 2017-10-27 08:08:16 +02:00
Abhinav Bhatele
ad51e818a7 ecp-proxy-apps: add dependencies (#5999) 2017-10-26 19:54:40 -06:00
Christoph Junghans
0b3247c23d miniamr: bump to v1.4.0 (#5975) 2017-10-26 19:51:50 -06:00
Ben Boeckel
bd6378a6d2 Package.extends: update semantics when package isn't concrete (#5600)
This updates the logic for Package.extends so that if the spec
associated with the package is not concrete, it will report true if
the package *could extend* the given spec; generally speaking a
package could extend a spec as long as none of the details associated
with its extendee spec conflict with the given spec. When the spec
associated with the package is concrete, this function will only
report whether the package *does extend* the given spec. When both
the specs are concrete, the semantics are the same as before.
2017-10-26 13:12:32 -07:00
Ondřej Čertík
0e464f86bb Exodus: skip the -G "Unix Makefiles" part (#5906)
* Exodus: skip the -G "Unix Makefiles" part

The problem is that spack passes -G "Unix Makefiles" into cmake, which normally
works. But in the Exodus package, it is being passed into a bash wrapper
script. In there, the $@ then loses the information about "Unix Makefiles"
being just one argument, and in effect passes -G Unix Makefiles into the cmake
(without quotes), and so cmake only sees -G Unix, and then fails. This is a
known problem with bash with no simple solutions. As a workaround, this patch
skips the first two arguments, i.e., -G and "Unix Makefiles". This makes it
work.

Fixes #5895.

* Port exodusii to cmake

The cmake options were taken from the cmake-exodus bash script and ported to
spack directly.

* Use variant forwarding to forward the 'mpi'

Now instead of

    spack install exodusii~mpi^netcdf~mpi^hdf5~mpi

one can just use

    spack install exodusii~mpi
2017-10-26 13:50:18 -06:00
Patrick Gartung
8e47b17a4d Buildcache: symlinks, externals, & install-checking (#5894)
* When creating a tar of a package for a build cache, symlinks are
  preserved (the corresponding path in the newly-created tarfile will
  be a symlink rather than a copy of the file)
* Dont add external packages to a build cache
* When installing from binary cache, don't create install prefix until
  verification is complete
2017-10-26 11:06:59 -07:00
Christoph Junghans
5c09176014 minife: version bump to v2.1.0 (#5985) 2017-10-26 11:45:40 -06:00
Abhinav Bhatele
0ff1fe90fa Laghos: new package (#5956) 2017-10-26 09:18:57 -06:00
Abhinav Bhatele
02744141e9 sw4lite: fix build errors and add variants (#5944)
* sw4lite: fix build errors and add variants

* sw4lite: change linking against blas and lapack

* change order of blas and lapack

* satisfy flake8 requirements

* Update package.py
2017-10-26 09:18:05 -06:00
Jon Rood
18d2fe7647 Customization of the Paraview module file to its nonstandard directory structure (#5799)
* Add the custom paraview lib directory structure to the library paths in the paraview module file.

* Fixing flake8 issues.

* Checking if lib64 exists for paraview module file generation, else use lib.

* Fixing more flake8 problems I introduced.
2017-10-26 11:12:04 +02:00
Christoph Junghans
a05bbd7104 flang: fixed llvm dep (#5948)
* flang: fixed llvm dep

* add support for llvm-5

* Update package.py

* Update package.py
2017-10-26 09:34:33 +02:00
Johann Klähn
306f536138 Add option to install clang python bindings to llvm (#5774) 2017-10-26 01:46:03 +02:00
Ondřej Čertík
89b0a09de0 Make clang use libc++ by default (#5943)
Since LLVM 3.9 Clang can use the libc++ library by default using the
CLANG_DEFAULT_CXX_STDLIB cmake configuration variable, without having to
specify the -stdlib=libc++ option on the clang++ command line.

This commit makes clang++ use libc++ by default for LLVM 3.9 and later if the
libcxx variant is on.

Fixes #5942.
2017-10-25 16:19:32 -06:00
Ondřej Čertík
aa750f12de Colorize "Installing pkg_name" (#5950)
Now one can quickly visually see in the terminal which packages are installed
and where each package begins and ends in the log.
2017-10-26 00:06:56 +02:00
mmwolf
ffb4251666 adding miniTri miniapp (#5935) 2017-10-25 15:49:22 -06:00
scheibelp
dcdd16b35e Check for namespace-qualified packages in repo_for_pkg (#5787)
* Fixes #5754

Previously when RepoPath.repo_for_pkg was invoked with a string,
it did not check if the string included a namespace. Any
namespace-qualified package provided as a string would not be found
(at which point the behavior was to return the highest-precedence
repository).

* handle nested namespaces for packages specified as strings in repo_for_pkg
* add preliminary repository tests
* add test which replicates #5754
* refactor repo tests with fixtures
* define repo_path equivalent at test-level scope for repo tests
* add tests for unknown namespace/package
* rename fixture function (no longer prefixed with 'test_')
2017-10-25 21:08:03 +02:00
Omar Padron
dd39862a80 boost: remove duplicate patch (#5934) 2017-10-25 12:00:50 -07:00
Jimmy Tang
1f4089a78f tweak opencv version (#5623) 2017-10-25 14:37:40 +02:00
Sergey Kosukhin
c9810f8088 Update for 'netcdf'. (#5819) 2017-10-25 14:30:58 +02:00
George Hartzell
b43064190c Specify base branch for flake8 comparison (#5796)
Internally we work against a branch named 'llnl/develop', which
mirrors the public repository's `develop` branch.

It's useful to be able to run flake8 on our changes, using
`llnl/develop` as the base branch instead of `develop`.

Internally the flake8 subcommand generates the list of changes files
using a hardcoded range of `develop...`.

This makes the base of that range a command line option, with a
default of `develop`.

That lets us do this:

```
spack flake8 --base llnl/develop
```

which uses a range of `llnl/develop...`.
2017-10-25 14:30:22 +02:00
Audrey Thoma
d839012e00 delly2: new package (#5820) 2017-10-25 13:55:13 +02:00
David Hows
05b3178ca4 Zlib gets a 50-60% performance win when compiled with -O2 (#5838)
Chasing a performance regression has lead me to this change, going from default optimization gives a significant performance win. The sweet spot for zlib is apparently `-O2`, both `-Ofast` and `-O3` are slightly worse (regression is about 3% compared with `-O2) in my testing. 

Happy to share my methodology with people so we can benchmark on a wider variety of systems.
2017-10-25 13:53:35 +02:00
Sergey Kosukhin
ce8a698b48 Update for 'eccodes'. (#5899) 2017-10-25 13:48:55 +02:00
George Hartzell
5d3a774587 Add package for scalpel@0.5.3 (#5901)
* Add package for scalpel@0.5.3

Scalpel's a bit of a mess, it expects it's users to just unpack the
tarball, build it in the resulting directory and install that
directory onto their PATH.  My install step recapitulates this into
prefix.bin.  The alternative was rewiring their scripts (perl), which
use `FindBin` and expect things to be located in the same dir that the
script itself is.

Sigh.

Lightly tested on CentOS 7.

* Flake8 cleanup

* Additional flake8 cleanup
2017-10-25 13:48:11 +02:00
Audrey Thoma
729c88f068 adding perl-bio-perl and dependencies (#5845)
* perl-bio-perl and dependencies

* minor fixes

* condensing code

* fixing doc error
2017-10-25 13:35:17 +02:00
Sergey Kosukhin
b92ddd72dd Update for 'cdo'. (#5947) 2017-10-25 13:24:19 +02:00
Eric
e2ef033855 bwa: add 0.7.17 (#5902)
* bwa: add 0.7.17

* bwa: add 0.7.13
2017-10-25 12:21:18 +02:00
George Hartzell
ff031de800 Add old version to bcftools (#5907)
* bcftools v1.2 and htslib v1.2

* dependency change - only require dependencies for v1.2
2017-10-25 12:20:42 +02:00
Audrey Thoma
9947306c3e py-xlsxwriter: new package (#5918) 2017-10-25 12:19:59 +02:00
George Hartzell
4fb46501af adding bedtools2 v2.23.0 (#5911) 2017-10-25 12:16:10 +02:00
George Hartzell
98c06eae92 Parallel fix sbangs (#5910)
* Added procedure to edit sbangs of the parallel perl scripts.

* Specify the types of perl dependency

Adding ", type=('build', 'run')" to the dependency declaration to clarify when and how perl is required

* flake8 cleanup
2017-10-25 12:15:10 +02:00
Audrey Thoma
3265008ad2 adding perl-moose and dependencies (#5912)
* adding perl-moose and dependencies

* added missing dependency

* fixed flake8 errors
2017-10-25 12:07:20 +02:00
Robert Pavel
9e1341a162 Added Hypre Dependency to mfem+hypre (#5929)
Added missing hypre defendency from mfem's hypre-enabled version
2017-10-25 12:03:50 +02:00
lingnanyuan
acbd6c9f62 r-geneplotter: Create new package. (#5924) 2017-10-25 12:01:19 +02:00
lingnanyuan
79b49d44af r-gridextra: Update version to 2.3 (#5915) 2017-10-25 11:50:16 +02:00
Audrey Thoma
f8b90d50de r-geiger and dependencies (#5933) 2017-10-25 11:17:37 +02:00
lingnanyuan
cc51cc0b06 r-rbgl: Create new package. (#5931) 2017-10-25 11:17:29 +02:00
Yifan Zhu
f87c426a6c r-variantannotation: created new package (#5932) 2017-10-25 11:17:15 +02:00
lingnanyuan
f1c06dec7c r-gseabase: Create new package. (#5930) 2017-10-25 11:17:00 +02:00
Yifan Zhu
054cc5d361 r-bsgenome: created new package (#5928) 2017-10-25 11:16:53 +02:00
Yifan Zhu
6b6d5d20e2 r-lsei: new package (#5926) 2017-10-25 11:16:46 +02:00
Yifan Zhu
fc3d484784 r-yarn: created new package (#5925) 2017-10-25 11:16:41 +02:00
lingnanyuan
d0a5f73a94 r-formula: Update version to 1.2-2 (#5923) 2017-10-25 11:16:34 +02:00
Yifan Zhu
c5447d7818 r-quantro: created new package (#5922) 2017-10-25 11:16:20 +02:00
lingnanyuan
05997460f6 r-scales: Update url. (#5921) 2017-10-25 11:16:00 +02:00
Yifan Zhu
3216daa905 r-doparallel: added list_url and version 1.0.11 (#5920) 2017-10-25 11:15:49 +02:00
lingnanyuan
21799cbe81 r-hmisc: Create new package. (#5919)
* r-hmisc: Create new package.

* Correct format.
2017-10-25 11:15:40 +02:00
Yifan Zhu
5742ec4fea r-openssl: changed homepage url to the CRAN package homepage, added list_url and added version 0.9.7 (#5848) 2017-10-25 11:12:31 +02:00
Praveen C
5b9de2eaba Glibc 2.26 does not provide xlocale.h (#5862) 2017-10-25 10:39:32 +02:00
Ondřej Čertík
882480fad6 gdbm: pass in proper CPPFLAGS (#5893)
The problem was that the configure script was not using spack's compiler
wrappers. We now pass the proper compiler wrapper using the CC argument
explicitly.

Fixes #5892.
2017-10-25 07:09:41 +02:00
Abhinav Bhatele
b47ff33f11 Add a new package for AMG and fix build issues in the amg2013 package (#5909)
* amg2013: fix build issues

* amg: add new package

* Update package.py

* amg2013: standardize option name

* amg: standardize option names
2017-10-24 21:06:33 -06:00
Ondřej Čertík
39616a2fe1 hypre: make mpi dependency optional (#5905) 2017-10-24 18:53:12 -07:00
Robert Pavel
68f7b7863a Added Spackage for SW4Lite proxy (#5917)
Added Spackage for C version of SW4Lite proxy. Fortran will follow once
race conditions involving .mod files are resolved
2017-10-24 15:31:05 -06:00
Massimiliano Culpo
8b7d2d0f24 'spack install' can overwrite an existing installation (#5384)
'spack install' can now reinstall a spec even if it has dependents, via
the --overwrite option. This option moves the current installation in a
temporary directory. If the reinstallation is successful the temporary
is removed, otherwise a rollback is performed.
2017-10-24 12:32:30 -07:00
Denis Davydov
31813ef2c7 slepc and petsc version updates (#5863)
slepc: add 3.8.0
petsc: no longer prefer 3.7.7
2017-10-24 10:57:14 -07:00
Yifan Zhu
8c306b7b83 r-minfi: created new package (#5887) 2017-10-24 14:07:45 +02:00
健美猫
37ce53c48f Add a package: thrust. (#3729) 2017-10-24 11:39:38 +02:00
Yifan Zhu
1ee60e7c63 r-nlme: added list_url and version 3.1-131 (#5890) 2017-10-24 11:30:49 +02:00
Yifan Zhu
2a2203895a r-genomicalignments: created new package (#5785)
* r-genomicalignments: created new package

* r-genomicalignments: using git repo source instead
2017-10-24 11:30:33 +02:00
Yifan Zhu
a68f9dcc26 r-reshape: created new package (#5889) 2017-10-24 11:29:56 +02:00
Yifan Zhu
43d39a6b00 r-data-table: added list_url and version 1.10.4-2 (#5888) 2017-10-24 11:29:42 +02:00
Todd Gamblin
3f68cc2ba7 Fix bug in spack flake8 when no files differ from develop (#5898) 2017-10-24 11:29:18 +02:00
lingnanyuan
896d4c8d0c r-mass: Update version to 7.3-47 (#5885) 2017-10-24 11:27:04 +02:00
lingnanyuan
cc06112959 r-acepack: Create new package. (#5884) 2017-10-24 11:26:37 +02:00
lingnanyuan
b09f0cdbe1 r-latticeextra: Create new package. (#5883)
* r-latticeextra: Create new package.

* r-latticeextra: Update list_url.
2017-10-24 11:26:20 +02:00
lingnanyuan
01215d705f r-htmltable: Create new package. (#5882) 2017-10-24 11:25:58 +02:00
lingnanyuan
8c0b95c398 r-htmlwidgets: Update verion to 0.9 (#5881) 2017-10-24 11:25:42 +02:00
lingnanyuan
22e96a10ad r-checkmate: Create new package. (#5880) 2017-10-24 11:25:24 +02:00
Yifan Zhu
17d94a5b51 r-geoquery: created new package (#5879)
* r-geoquery: created new package

* r-geoquery: added versioned dependency on r
2017-10-24 11:25:02 +02:00
lingnanyuan
25d38fe077 r-knitr: Update version to 1.17. (#5878) 2017-10-24 11:24:45 +02:00
Yifan Zhu
bba655d6d7 r-httr: added list_url and version 1.3.1 (#5877) 2017-10-24 11:24:29 +02:00
lingnanyuan
d4d44f0c63 r-rcpparmadillo: Create new package. (#5875) 2017-10-24 11:24:16 +02:00
Yifan Zhu
eeb1edd8e5 r-curl: added list_url and version 3.0 (#5874) 2017-10-24 11:23:54 +02:00
lingnanyuan
859b9972d3 r-yaml: Update version to 2.1.14 (#5856) 2017-10-24 11:23:38 +02:00
lingnanyuan
ae578069bd r-formatr: Update version to 1.5 (#5855) 2017-10-24 11:23:17 +02:00
lingnanyuan
050b753bb7 r-crayon: Update version to 1.3.4 (#5854) 2017-10-24 11:23:00 +02:00
lingnanyuan
764b7a7ad1 r-sourcetools: Create new package. (#5853) 2017-10-24 11:22:42 +02:00
lingnanyuan
4b50598252 r-testit: Update version to 0.7 (#5852) 2017-10-24 11:22:23 +02:00
lingnanyuan
6b87875d81 r-markdown: Update version to 0.8. (#5851) 2017-10-24 11:22:05 +02:00
Yifan Zhu
ab96705f05 r-base64: created new package (#5850) 2017-10-24 11:21:48 +02:00
Yifan Zhu
f814e9bba1 r-illuminaio: created new package (#5849) 2017-10-24 11:21:31 +02:00
lingnanyuan
7a176ca89e r-evaluate: Update version to 0.10.1. (#5847)
* r-evaluate: Update version to 0.10.1.

* r-evaluate: update list_url.
2017-10-24 11:20:47 +02:00
lingnanyuan
420048350f bioconductor update (#5786)
* r-a4: Add r dependency and update url.

* r-a4base: Add r dependency and update url.

* r-a4classif: update url and add r dependency.

* r-a4core: Update url and add r dependency.

* r-a4preproc: Update url and add r dependency.

* r-a4reporting: Update url and add r dependency.

* r-abaenrichment: Update url and add r dependency.

* r-absseq: Update url and add r dependency.

* r-acgh: Update url and add r dependency.

* r-acme: Update url and add r dependency.

* r-adsplit: Update url and add r dependency.

* r-affxparser: Update url and add r dependency.

* r-affycomp: Update url and add r dependency.

* r-affycompatible: Update url and add r dependency.

* r-affycontam: Update url and add r dependency.

* r-annaffy: Update url and add r dependency.

* r-annotate: Update url and add r dependency.

* r-annotate: Update url and add r dependency.

* r-annotationdbi: Update url and add r dependency.

* r-genefilter: Update url and add r dependency.

* r-mlinterfaces: Update url and add r dependency.

* r-limma: Update url and add r dependency.

* r-multtest: Update url and add r dependency.

* r-a4classif: Correct format.

* r-affycomp: Correct error.
2017-10-24 11:19:19 +02:00
Yifan Zhu
f9f0c1472f r-siggenes: new package (#5831)
* r-siggenes: created new package

* deleted extra indent
2017-10-24 11:14:04 +02:00
lingnanyuan
cea33af464 r-affyrnadegradation: Create new package. (#5830) 2017-10-24 11:13:53 +02:00
lingnanyuan
2ede483149 r-affyqcreport: Create new package. (#5829) 2017-10-24 11:13:44 +02:00
Yifan Zhu
edac742f84 r-nor1mix: created new package (#5828) 2017-10-24 11:13:04 +02:00
lingnanyuan
46b385761d r-affyplm: Create new package. (#5827) 2017-10-24 11:12:56 +02:00
lingnanyuan
2c5b3a2268 r-affypdnn: Create new package. (#5826) 2017-10-24 11:12:47 +02:00
Yifan Zhu
6fd0030acb r-beanplot: created new package (#5825)
* r-beanplot: created new package

* correct according to flake8
2017-10-24 11:12:15 +02:00
Aaron Fisher
204217f7c1 Updated external package versions. (#5833) 2017-10-24 11:10:59 +02:00
Yifan Zhu
968144f1c5 r-bumphunter: new package (#5824)
* r-bumphunter: created new package

* r-bumphunter: added description
2017-10-24 11:09:38 +02:00
Sergey Kosukhin
161dca6d5d Update for 'hdf5'. (#5790)
* Refactoring for 'hdf5'.

* Remove 'unsupported' variant.
2017-10-24 11:09:08 +02:00
Michael Kuhn
c7ac4e3774 go: Update to 1.9.1 (#5868) 2017-10-24 11:02:33 +02:00
Todd Gamblin
6b5ca38723 do not use 'l' as a variable name, to appease new flake8 version
- new E741 flake8 checks disallow 'l', 'O', and 'I' as variable names

- rework parts of the code that use this, to be compliant

- we could add exceptions for this, but we're trying to mostly keep up
  with PEP8 and we already have more than a few exceptions.
2017-10-24 10:05:36 +02:00
Todd Gamblin
5449884b2e Fix bare 'except:' to placate errors in new flake8 version.
- fixes E722 errors from latest version of flake8
- requires us to not use 'bare except:' and catch BaseException instead
2017-10-24 10:05:36 +02:00
Todd Gamblin
b98fc48273 log tests use tmpdir properly 2017-10-24 10:05:36 +02:00
Todd Gamblin
0bb1eb32f2 fix bugs found with stricter flake8 rules
- When you don't use wildcards, flake8 will find places where you used an
  undefined name.

- This commit has all the bugfixes resulting from this static check.
2017-10-24 10:05:36 +02:00
Todd Gamblin
7dd79094b0 remove wildcards from make spack core and packages
- This removes all wildcard imports EXCEPT `from spack import *` in packages
2017-10-24 10:05:36 +02:00
Todd Gamblin
7757ebc0bc flake8: no wildcards in core; only import * from spack in packages
There are now separate flake8 configs for core vs. packages:
- core has a smaller set of flake8 exceptions
- packages allow `from spack import *` and module globals
- Allows core to take advantage of static checking for undefined names
- Allows packages to keep using Spack tricks like `from spack import *`
  and dependencies setting globals for dependents.
2017-10-24 10:05:36 +02:00
Todd Gamblin
beab0cb92e add newlines at end of some package files 2017-10-24 10:05:36 +02:00
Todd Gamblin
78e22940c2 add --all option to spack flake8
- `-a`/`--all` causes flake8 to run on all files rather than just
  different ones.
2017-10-24 10:05:36 +02:00
scheibelp
e660611a87 package: remove bare except statements (#5896) 2017-10-23 19:28:53 -07:00
Mark Grondona
328dc3d140 jansson: enable shared library (#5857)
Jansson builds only a static library by default, which is probably
not what most users want. Add Cmake args required to build a shared
library and enable those via a default 'shared' variant of the
package.
2017-10-23 13:32:51 +02:00
Massimiliano Culpo
3e7680e24a getting_started.rst: removed tip suggesting the use of 2 Spack instances (#4061) 2017-10-20 21:09:08 -07:00
Massimiliano Culpo
3afc6770f0 module-type argument defaults to 'tcl' instead of every known type (#5751)
fixes #5721

This is to solve the fact that lmod needs to be configured
by the user (to specify a core compiler).
2017-10-20 20:41:25 -07:00
Patrick Gartung
a8ee2a912b buildcache command updates (#5860)
* Add better spec matching to spack buildcache

* skip download of spec.yaml and keys if they exist

* autopep8
2017-10-20 20:33:01 -07:00
jiseung
969c8b177f new package: hpgmg (#4888)
* new package: hpgmg

* removed build and changed extend() to append()

* changes based on comments

* pep8 compliant

* addressed rest of comments

* trigger checks

* changed from fe_fv to two boolean variants

* fixed compilation issues

* cleared up ambiguities in solver variants

* removed +mpi condition

* changes based on review
2017-10-20 17:34:55 -07:00
Adam J. Stewart
2570dfb4d9 Update Getting Started docs to clarify that full Xcode suite is required for qt (#4958)
* Update Getting Started docs to clarify that full Xcode suite is required for qt

* Better error message when only the command-line tools are installed
2017-10-20 17:31:12 -07:00
George Hartzell
c9d9901e43 perl: add old version (#5844) 2017-10-20 16:18:24 -07:00
Christoph Junghans
2e1a96f262 xsbench: add v14 (#5835) 2017-10-20 08:52:17 +02:00
Todd Gamblin
4dac4736e7 spack blame can take a path to a file in the Spack repo (#5793)
- Previously `spack blame` only worked for package names; now it works
  for paths as well, so developers can use it on core spack files.
2017-10-19 14:27:15 -07:00
Milton Woods
d72bcc91f4 perl: ignore perllocal.pod files during package activation (#5271) 2017-10-19 14:24:49 -07:00
Adam J. Stewart
a1c19f8389 Allow documentation to build in Python 3 (#5736) 2017-10-19 00:26:04 -07:00
George Hartzell
b46f1e3605 bcl2fastq needs with working_dir: after changes in #5776 (#5803)
#5776  cleaned up the way the the current working directory is
managed (less magic state).

bcl2fastq is packaged like a russian doll, rather than an archive file
that contains the source, there's a zip file that contains a tar.gz
file that contains the source.  The package definition has a bit of
extra code that unpacks the inner tarball.

That extra bit of code now needs to explicitly arrange to be in the
correct directory before it does its work.
2017-10-19 08:59:25 +02:00
Christoph Junghans
4774c9887e libxml2: use spack's xz (#5816) 2017-10-19 08:32:37 +02:00
lingnanyuan
6642f62eb9 r-affyexpress: Create new package. (#5807) 2017-10-18 19:07:04 -06:00
Yifan Zhu
5e2c4dbb5c r-rtracklayer: new package (#5808) 2017-10-18 19:06:36 -06:00
lingnanyuan
76cce82d65 r-affyilm: Create new package. (#5810) 2017-10-18 19:06:16 -06:00
Yifan Zhu
d701c4afd6 r-genomicfeatures: new package (#5811)
* r-genomicfeatures: created new package

* modified version number and added versioned dependency on r

* fixed typo
2017-10-18 19:05:53 -06:00
Denis Davydov
3e67b98e29 dealii: blacklist boost 1.64 and 1.65 (#5805)
* dealii: blacklist boost 1.64 and 1.65

* flake8
2017-10-18 15:58:05 -06:00
Stephen Hudson
0b62625e9d py-mpi4py: Add develop version and dependencies (#5798)
* py-mpi4py: Add develop version and dependencies

- Add cython dependency for develop version

- Add explicit python dependency

* py-mpi4py: Specify 2.0.1 instead of develop for conditional dep
2017-10-18 15:56:48 -06:00
Akhil Reddy Patlolla
9b994c05f4 CoMD Proxy App with Serial, MPI, OpenMP Support (#4864) 2017-10-17 19:59:57 -06:00
George Hartzell
ad5fb40d75 perl: add write permissions to update config files (#5746)
Perl installs a couple of config files that need to be munged so that
they don't refer to the spack compiler.  These files are installed
read-only.  Behind the scenes 'filter_file' moves its file to a safe
place, and tries to create a working file that is both O_WRONLY and
has the perms of the original file.  On an NFSv4 filesystem, the
combination of 'r--r--r--' and O_WRONLY throws a permissions error.

This commit adds a simple context manager that temporarily makes the
files writable.
2017-10-17 18:38:23 -07:00
George Hartzell
464e558aea filter_file, don't remove absent backup file (#5733)
I'm tracking down a problem with the perl package that's been
generating this error:

```
OSError: OSError: [Errno 2] No such file or directory: '/blah/blah/blah/lib/5.24.1/x86_64-linux/Config.pm~'
```

The real problem is upstream, but it's being masked by an exception
raised in `filter_file`s finally block.

In my case, `backup` is `False`.

The backup is created around line 127, the `re.sub()` calls
fails (working on that), the `except` block fires and moves the backup
file back, then the finally block tries to remove the non-existent
backup file.

This change just avoids trying to remove the non-existent file.
2017-10-17 11:26:05 -07:00
David Hows
ffc4c31b82 Add a new +clanglibcpp option for Boost (#5708)
* Add a new +clanglibcpp option for Boost

Currently, the compile of boost with clang will use the stdlibc++. This patch adds an optional flag to use clangs included libc++ instead.

* Linting

Fix long lines and white space errors
2017-10-17 01:40:09 -07:00
Christoph Junghans
5f592fb911 votca-xtp: added url (#5772) 2017-10-17 01:39:02 -07:00
Christoph Junghans
244c7af864 flang: clean up (#5766) 2017-10-17 01:38:41 -07:00
Christoph Junghans
1a12e6022b liquo: added 1.3 and develop (#5781) 2017-10-17 01:36:54 -07:00
Michael F. Herbst
1952a92820 Minor typos and corections (#5789)
- The shell script uses arrays and hence only works on sophisticated shells and not the default `sh`. For clarity the shebang `#!/bin/bash` has been used instead.
2017-10-17 01:36:03 -07:00
Douglas Duckworth
f0da8251b3 singularity 2.4 added (#5782) 2017-10-17 01:28:19 -07:00
Todd Gamblin
100fb1e6ee Exercise more code paths in the git fetcher.
- This fakes out GitFetchStrategy to try code paths for different git
  versions.

- This allows us to test code paths for old versions using a newer git
  version.
2017-10-17 01:26:31 -07:00
Todd Gamblin
d14816cbaf Spack tests no longer clutter var/spack/stage
- Tests use a session-scoped mock stage directory so as not to interfere
  with the real install.

- Every test is forced to clean up after itself with an additional check.
  We now automatically assert that no new files have been added to
  `spack.stage_path` during each test.

  - This means that tests that fail installs now need to clean up their
    stages, but in all other cases the check is useful.
2017-10-17 01:26:31 -07:00
Todd Gamblin
44bebd7a8f `Package.stage` no longer implicitly makes stage directory
- Be explicit about stage creation during the install process.

- This avoids accidental creation of stages
  - e.g., during `spack install --fake`, stages were erroneously recreated
    after being destroyed
2017-10-17 01:26:31 -07:00
Todd Gamblin
894a1a73a4 Spack tests no longer use the var/spack/stage directory.
- This prevents the main spack install from being clusttered by
  invocations of `spack test`.

- This uses a session-scoped stage fixture to ensure tests don't
  interfere.
2017-10-17 01:26:31 -07:00
Todd Gamblin
c14f2dc7b4 Spack core and tests no longer use os.chdir()
- Spack's core package interface was previously overly stateful, in that
  calling methods like `do_stage()` could change your working directory.

- This removes Stage's `chdir` and `chdir_to_source` methods and replaces
  their usages with `with working_dir(stage.path)` and `with
  working_dir(stage.source_path)`, respectively.  These ensure the
  original working directory is preserved.

- This not only makes the API more usable, it makes the tests more
  deterministic, as previously a test could leave the current working
  directory in a bad state and cause subsequent tests to fail
  mysteriously.
2017-10-17 01:26:31 -07:00
Jon Rood
890c5ad329 Forcing Paraview to avoid using git describe to determine its own version number (#5783)
* Forcing Paraview to avoid using git describe to determine its own version number.

* Shortening references to spec in paraview.
2017-10-16 15:32:23 -06:00
Aaron Fisher
639d9c305a Updated the rc tag and version. (#5761) 2017-10-16 11:26:26 -07:00
Christoph Junghans
89344ebd44 portage: fixes + added v1.1.* (#5706) 2017-10-16 09:59:41 -07:00
Michael F. Herbst
d0cf3db46e armadillo: use libs to provide arpack and superlu libraries (#5777) 2017-10-16 12:57:01 +02:00
Denis Davydov
f6c16de6de petsc: a temporary workaround for concretizer bug in all packages which depend on SLEPc (#5755) 2017-10-16 00:53:55 -07:00
Johann Klähn
6c67de48e8 Update llvm to version 5.0.0 (#5773) 2017-10-15 13:04:40 -06:00
Michael F. Herbst
5656554922 Add krims and lazyten (#5771)
* Add krims to spack

* Add lazyten to spack

* Add description for lazyten

* Changes suggested by @davydden and @junghans
2017-10-15 11:45:11 -06:00
Denis Davydov
a16ec21fbe boost: remove preferred 1.63 (#5770)
1.64 had issues serialization (make_array and others) when built with
+mpi+python. It appears that those issues are fixed in 1.65.1
so we can remove preferred tag from 1.63.
2017-10-14 16:50:28 -06:00
Denis Davydov
cfd823c3f7 intel-tbb: add 2018.1 (#5769) 2017-10-14 16:40:23 -06:00
Denis Davydov
dcb888d477 gsl: add 2.4 (#5768) 2017-10-14 16:39:43 -06:00
Denis Davydov
8f52295dd8 oce: add 0.18.2 (#5767) 2017-10-14 16:39:21 -06:00
Christoph Junghans
31115af128 boost: call_once_variadic.patch is already part of 1.56.0 (#5341) 2017-10-14 12:53:25 -06:00
Christoph Junghans
a685372636 Revert "Use cflags instead of the args variable (#5756)" (#5765)
This reverts commit 6c3184820a.
2017-10-14 13:55:02 +02:00
Adam J. Stewart
6f9036c858 Ensure that FileList makes it into the documentation (#5739) 2017-10-14 06:20:39 +02:00
Satish Balay
0168025c1c superlu_dist: update to latest version 5.2.1 (#5762)
The interface to +int64 changed from  -D_LONGINT to XSDK_INDEX_SIZE=64. This change
uses the appropriate interface for for the given version
2017-10-13 21:22:44 -06:00
David Gardner
f885c89fdc Update Sundials package (#5696)
* initial update of sundials package

* fix bugs in initial sundials update

* add xsdk cmake setup, fix generic math option, add cuda/raja Makefiles to install fixes

* Fix lapack install bug, add new conflicts, clean up formatting

* Address pull requeset comments and make fomatting style consistent

Remove blas variant as blas is only needed when used by an external
linear solver. Set related CMake blas variables as needed depending
enabled external linear solvers.

Add minimum required CMake version.

Additional conflicts and dependencies for external libraries based
on mpi, indextype, and precision.

Fix SuperLU_MT logic to check which threading type SuperLU_MT was
configured with.

Add maintaiers.

Change Sundials solver options to use an array of values.

Consistently use % for formatting.

* change triple-single quotes to single quotes

* Change indextype option to a single int64 option
2017-10-13 21:13:10 -06:00
Todd Gamblin
1ba4c1af63 Clean up logic in Sepc.satisfies_dependencies()
- This puts in a fast path when there are no dependencies to satisfy.

- Reduces time spent to concretize r-rminer by 2x, down to 5s from 10s
2017-10-13 19:46:57 -07:00
Todd Gamblin
afc99ca516 Remove single-root assertion from Spec.root
- Assertion would search for root through all possible paths.
  - It's also really slow.

- This isn't needed anymore. We're pretty good at ensuring single-rooted
  DAGs, and this assertion has never been thrown.

- This shaves another 6 seconds off r-rminer concretization
2017-10-13 19:46:57 -07:00
Todd Gamblin
3f091fb6db Use list instead of OrderedDict to find virtual/external candidates
- This reduces concretization time for r-rminer from over 1 minute to
  only 16 seconds.
  - OrderedDict ends up taking a *lot* of time to compare larger specs.

- An OrderedDict isn't actually needed here.  It's actually not possible
  to find duplicates, and we end up sorting the contents of the
  OrderedDict anyway.
2017-10-13 19:46:57 -07:00
Todd Gamblin
f58c503091 avoid creating lots of dictionaries in traverse_edges()
- This is an optimization to the way traverse_edges iterates over
  successors.

- Previous version called dependencies_dict(), which involved a lot of
  redundant work (creating dicts and calling caonical_deptype)
2017-10-13 19:46:57 -07:00
Todd Gamblin
9ccaf6474d Don't redundantly check for providers of non-virtuals. 2017-10-13 19:46:57 -07:00
Todd Gamblin
55f85f2307 Cache compilers parsed from config files
- Spack ends up constructing compilers frequently from YAML data.

- This caches the result of parsing the compiler config

- The logic in compilers/__init__.py could use a bigger cleanup, but this
  makes concretization much faster for now.

- on macOS, this also ensures that xcrun is called only twice, as opposed
  to every time a new compiler object is constructed.
2017-10-13 19:46:57 -07:00
Patrick Gartung
2e1aa0a5e9 This fixes a bug in creating rpaths relative to $ORIGIN on linux. (#5726)
* This fixes a bug in creating rpaths relative to  on linux.

* fix for macOS as well

* found in testing

* flake8

* fix testing on macOS

* flake8
2017-10-13 19:13:07 -07:00
Yifan Zhu
4d3424a5d4 r-preprocesscore: added versioned dependency on r (#5671) 2017-10-13 18:50:26 -06:00
Yifan Zhu
e6109381fc r-rmpi: added list_url and updated md5 (#5698) 2017-10-13 18:35:06 -06:00
Yifan Zhu
ad8b9522d6 r-edger: added versioned dependency on r (#5669) 2017-10-13 18:32:43 -06:00
Yifan Zhu
8c2fe52f8e r-s4vectors: added versioned dependency on r (#5672) 2017-10-13 18:32:17 -06:00
Denis Davydov
c13e13a52b likwid: update versions (#5757) 2017-10-13 16:08:49 -06:00
Yifan Zhu
2c73c9fb50 r-xvector: added versioned dependency on r (#5731) 2017-10-13 16:01:18 -06:00
Satish Balay
6fcfc3bd5a flake8: fix warnings (#5759) 2017-10-13 15:16:58 -06:00
Ondřej Čertík
6c3184820a Use cflags instead of the args variable (#5756)
That way the user can still append things to CFLAGS.
2017-10-13 15:15:06 -06:00
Christoph Junghans
3c7dd367f8 py-espresso: initial commit (#5724) 2017-10-13 12:29:30 -07:00
Christoph Junghans
23e801923d espressopp -> py-espressopp (#5732)
* espressopp -> py-espressopp

* Update package.py
2017-10-13 12:28:36 -07:00
Axel Huebl
e17765db39 Docker Workflow (#5582)
This adds a workflow section on how to use spack on Docker.

It provides an example on the best-practices I collected over the
last months and circumvents the common pitfalls I tapped in.

Works with MPI, CUDA, Modules, execution as root, etc.

Background: Developed initially for PIConGPU.
2017-10-13 12:17:20 -07:00
Ondřej Čertík
e76cfbbfd8 Fix m4 to compile with Intel (#5728)
Fixes #5705.
2017-10-13 11:20:49 -06:00
Yifan Zhu
8ffe18f1dc r-biostrings: added versioned dependency on r (#5667) 2017-10-13 07:51:30 -06:00
Yifan Zhu
ce1e5e3098 r-zlibbioc: added versioned dependency on r (#5674) 2017-10-13 07:50:10 -06:00
Denis Davydov
b8c1ce43fa trilinos / oce : add missing if before calling macOS_version (#5743)
* trilinos: add missing if before calling macOS_version

* oce: add missing if before calling macOS_version
2017-10-13 07:49:18 -06:00
Yifan Zhu
9716a6f37f r-readr: created new package (#5741) 2017-10-13 07:47:43 -06:00
Yifan Zhu
350624a231 r-dorng: created new package (#5740) 2017-10-13 07:47:01 -06:00
Yifan Zhu
9f3e055e8b r-stringr: added list_url and version 1.2.0 (#5738) 2017-10-13 07:46:29 -06:00
Yifan Zhu
525b69bbad r-stringi: added list_url and version 1.1.5 and 1.1.3 (#5737) 2017-10-13 07:45:26 -06:00
Yifan Zhu
0b117a03c6 r-summarizedexperiment: created new package (#5734) 2017-10-13 07:45:05 -06:00
Yifan Zhu
501ebe6706 r-yaqcaffy: added list_url and versioned dependency on r (#5730) 2017-10-13 07:44:26 -06:00
Denis Davydov
65f12c8160 slepc: refine version constraints for petsc 3.8 (#5752) 2017-10-13 07:11:17 -06:00
Denis Davydov
22ef8efce9 openblas: remove extra develop version (#5750) 2017-10-13 12:10:05 +02:00
Denis Davydov
b182e2334d gettext: fix prefix (#5749) 2017-10-13 10:52:55 +02:00
Brian Van Essen
bd185b8146 Lbann flags (#5747)
* Fixed the datatype flag in the LBANN package.  Also added develop
version to OpenBLAS.

* Fixed where the datatype flag should be set.
2017-10-12 20:23:38 -06:00
Yifan Zhu
f2a6685d8c r-gcrma: added versioned dependency on r (#5670) 2017-10-12 16:18:30 -06:00
Yifan Zhu
d4906169e0 r-simpleaffy: added versioned dependency on r (#5673) 2017-10-12 16:18:15 -06:00
Satish Balay
59163f9750 petsc: add in maintainers (#5729) 2017-10-12 15:09:47 -06:00
David Hows
8ff8b7476c Add the option for a versioned layout to boost (#5709) 2017-10-12 12:51:39 -06:00
Audrey Thoma
36ed96e7dd kaks-calculator: new package (#5725)
* kaks-calculator: new package

* kaks-calculator: new package

* fixing homepage
2017-10-12 12:47:11 -06:00
Satish Balay
98c2184bd3 petsc: update to latest 3.8 version [and include 3.7.7] (#5723)
Also fix flake8 warning "import os should be before import sys"
2017-10-12 12:46:00 -06:00
Jon Rood
c0b2e7db73 Add OpenFAST package (wind turbine simulation tool). (#5662)
* Add OpenFAST package (wind turbine simulator).
* Adding maintainer to openfast package.
* Fixing copyright date.
2017-10-12 11:42:51 -07:00
Denis Davydov
1b53e82348 various fixes for macOS high sierra (#5647)
* various fixes for macOS high sierra

* add macOS_version() helper function

* flake8 fixes

* update oce and trilinos

* fix bison
2017-10-12 11:41:57 -07:00
David Hows
0dad5b3ee5 Make --trusted default when running spack gpg list (#5678)
* Make --trusted default when running spack gpg list

Currently running `spack gpg list` with no arguments returns nothing. You must supply either the `--trusted` or the `--signing` options. The idea here is to return some initial data to the user when the command is run. The alternative is to return an error, telling the user to select one of the two options.

* Add an extra test case for the empty list command

Fixes the issue with code coverage
2017-10-12 11:14:48 -07:00
Todd Gamblin
65b38764ae Speed up concretization (#5716)
This isn't a rework of the concretizer but it speeds things up a LOT.

The main culprits were:
  1. Variant code, `provider_index`, and `concretize.py` were calling
     `spec.package` when they could use `spec.package_class`
    - `spec.package` looks up a package instance by `Spec`, which requires a
      (fast-ish but not that fast) DAG compare.
    - `spec.package_class` just looks up the package's class by name, and you
        should use this when all you need is metadata (most of the time).
    - not really clear that the current way packages are looked up is
      necessary -- we can consider refactoring that in the future.

  2. `Repository.repo_for_pkg` parses a `str` argument into a `Spec` when
     called with one, via `@_autospec`, but this is not needed.
     - Add some faster code to handle strings directly and avoid parsing

This speeds up concretization 3-9x in my limited tests.  Still not super
fast but much more bearable:

Before:
  - `spack spec xsdk` took 33.6s
  - `spack spec dealii` took 1m39s

After:
  - `spack spec xsdk` takes 6.8s
  - `spack spec dealii` takes 10.8s
2017-10-12 09:52:38 -07:00
Carlos Bederián
db149876a4 samtools: add version 1.6 + some fixes (#5715)
* htslib: add version 1.6

* samtools: add version 1.6, remove zlib dependency

* bcftools: add version 1.6, switch to using standalone htslib
2017-10-12 10:08:31 -06:00
Audrey Thoma
87c65fafa9 minimap2: new package (#5722) 2017-10-12 10:07:42 -06:00
David Hows
90cd075277 Initial version of libpcap (#5710)
Add a package script for libpcap with the current version (1.8.1)
2017-10-12 07:00:21 -06:00
Todd Gamblin
b5e136b729 Better install output (#5714)
* Do not call setup_package for fake installs

- setup package could fail if ``setup_dependent_environment`` or other
  routines expected to use executables from dependencies

- xpetsc and boost try to get python config variables in
  `setup_dependent_package`; this would cause them not to be
  fake-installable

* Remove vestigial deptype_query argument to Spec.traverse()

- The `deptype_query` argument isn't used anymore -- it's only passed
  around and causes confusion when calling traverse.

- Get rid of it and just keep the `deptypes` argument

* Don't print redundant messages when installing dependencies

- `do_install()` was originally depth-first recursive, and printed "<pkg>
  already installed in ..." multiple times for packages as recursive
  calls encountered them.

- For much cleaner output, use spec.traverse(order='post') to install
  dependencies instead
2017-10-12 00:49:59 -07:00
Yifan Zhu
e807397074 r-affy: added versioned dependency on r (#5660) 2017-10-11 19:49:48 -06:00
Yifan Zhu
36eba3bf58 r-affyio: added versioned dependency on r (#5661) 2017-10-11 19:49:28 -06:00
Yifan Zhu
db0fec4d09 r-biocinstaller: added versioned dependency on r (#5663) 2017-10-11 19:49:08 -06:00
Yifan Zhu
4e8ac1d525 r-matrixstats: created new package (#5682) 2017-10-11 19:48:39 -06:00
Yifan Zhu
5e41ad6fed r-biocgenerics: added version 0.22.1 and added versioned dependency on r (#5683) 2017-10-11 19:48:19 -06:00
Yifan Zhu
8d48f07de1 r-genomeinfodbdata: added versioned dependency on r (#5685) 2017-10-11 19:48:00 -06:00
Yifan Zhu
a04e95a492 r-genomeinfodb: created new package (#5695) 2017-10-11 19:47:03 -06:00
Yifan Zhu
dc95dddd61 r-genomicranges: added new package (#5697) 2017-10-11 19:45:03 -06:00
Yifan Zhu
c93ecda872 r-futile-options: created new package (#5699) 2017-10-11 19:43:53 -06:00
Yifan Zhu
4af446d7f4 r-lambda-r: created new package (#5700) 2017-10-11 19:43:33 -06:00
Yifan Zhu
f8db73d567 r-futile-logger: created new package (#5701) 2017-10-11 19:43:15 -06:00
Yifan Zhu
01e104dfcb r-rsamtools: created new package (#5702) 2017-10-11 19:42:55 -06:00
Yifan Zhu
670463e95a r-biocparallel: created new package (#5703) 2017-10-11 19:42:25 -06:00
Yifan Zhu
e08e7af34e r-delayedarray: created new package (#5704) 2017-10-11 19:42:04 -06:00
Yifan Zhu
9a2ef4c4b3 r-biomart: added versioned dependency on r (#5666) 2017-10-11 19:41:08 -06:00
George Hartzell
124bdfb910 Strelka depends on boost 1.56.0 *or newer* (#5690)
Relax/correct the constraint on the version of boost used
by Strelka to match the docs.
2017-10-11 17:21:26 -06:00
Denis Davydov
35a62f715b dealii: minor fixes (#5687)
* dealii: fix minor bug in Assimp config

* dealii: request sundials without pthreads
2017-10-11 15:09:39 -06:00
Christoph Junghans
cfc13dec9f Add a bundle package for the ECP proxy applications suite (#5689)
* Add a bundle package for the ECP proxy applications suite

* Update package.py
2017-10-11 13:39:30 -06:00
健美猫
9e95e8394e Add a package: dmlc/mxnet. (#3579)
* Add dmlc/mxnet packags.

* Build mxnet+cuda+opencv with GCC-4.8.5 and GCC-5.4.0.

* Build mxnet version 0.10.0, 0.10.0.post1 and 0.10.0.post2.

* Add component version constrain for mxnet 0.10.0.x .

* Go through flake8.

* Replace commit hash with commit date as package version.

* Go throught Travis-CI.

* Update submodule version for 0.10.0.post2.

* Add openmp variant for dmlc-core and mxnet.

* Refine variant handling.

* Fix filter_file for dmlc-core.

* Cut long strings into multiple lies due to PEP8 requirements.

* Fix for PEP8.

* Add CUB_INCLUDE.

* Add py-mxnet: Python binding for MXNet.

* Remove distutils.dir_util.

* Add the profiler variant for mxnet.

* Add a shared variant for nnvm.

* Set USE_OPENMP to OFF by default.

* Fix flake8 errors.

* Fix flake8 issues.

* flake8 issues again.
2017-10-10 13:56:26 -07:00
Christoph Junghans
ef822453b9 Adding flang - a llvm based Fortran compiler (#5459)
* flang: initial commit

* flang: added symlink to clang's flang

* add flang wrapper

* flang wrapper: inject rpath as well

* flang wrapper: PATH -> -B
2017-10-10 13:52:31 -07:00
Christoph Junghans
cb7628c9a4 compilers/clang: add flang (#5503)
* compilers/clang: add flang

* Update clang.py
2017-10-10 13:52:10 -07:00
Christoph Junghans
88b515ede8 ninja: add v1.8.2 (#5625) 2017-10-10 12:50:56 -07:00
Massimiliano Culpo
a3bbe066b3 plumed: reworked patching applications, added new version (#5680)
closes #5506

The application of patches to upstream executables has been reworked
according to the suggestions of the main developer in #5506. In
particular we are not maintaining a dictionary that maps plumed
versions to the versions of patchable executables, and we are using a
non-interactive command to patch applications.

All the comments on substituting plumed at run-time do not apply here,
since we use RPATH and we want to maintain a 1:1 relationship between
the DAG hash and the plumed library used.
2017-10-10 12:35:53 -07:00
Audrey Thoma
e3053d7425 snap-korf: new package (#5589) 2017-10-10 11:09:31 -07:00
Jon Rood
f2b49d8f66 Adding openfast variant to nalu. (#5675) 2017-10-09 20:10:47 -06:00
lingnanyuan
35583f48f4 r-adsplit: Create new package and update version for its dependencies. (#5640)
* r-adsplit: Create new package.

* r-rlang: Update version.

* r-s4vectors: Update version.
2017-10-09 17:10:29 -06:00
Audrey Thoma
a8cd92a2e4 switching downloads to git (#5659) 2017-10-09 17:07:13 -06:00
lingnanyuan
196b82f2c7 r-affycompatible: Create new package. (#5664) 2017-10-09 17:05:53 -06:00
lingnanyuan
ef1f71447e r-affydata: Create new package. (#5665) 2017-10-09 17:05:21 -06:00
lingnanyuan
1f05e9ae58 r-affycontam: Create new package. (#5668) 2017-10-09 17:04:51 -06:00
George Hartzell
ab2c7573c1 strelka: new package (#5632)
* Add package for strelka@2.8.2

* Fix flake8 complaints
2017-10-09 17:02:44 -06:00
George Hartzell
0d1c36e559 Add package for aspell and ass't dictionaries (#3890)
* Add package for aspell and ass't dictionaries

Add a package definition for aspell.

Add a handful of dictionaries to convince myself that the support for
a bunch of dictionaries works.

* Flake8 cleanup

* Use six's version of urlparse

`urlparse` is not python3 friendly.  This works around it (stolen from
`.../cmd/md5.py`).

* Fix incorrect trimming regexp

* Clean up dictionary build

- more parsimonious use of `which` (`make()` has already been made)
- use `sh` instead of `bash`

* Use a helper method to generate info for variants

I figured out my issues with static methods.  I *think* that it this
is pythonic.

* Convert aspell to an extendable package

Convert aspell to be extendable and rework the dictionaries to be
extensions.

As it stands, there's a great deal of cut and paste in the
dictionaries, I'll abstract that out next.

The {de,}activate methods copy a great deal of code out of
package.py.  Perhaps there's a better way....

* Create AspellDictPackage and use it for the dictionaries

Reduce the repeated code, pull it into a base class.

I'm confused about why 'from spack import *' wasn't more useful in the
base class.

* Oops, -de & -es should be AspellDictPackages too

* Typo: pakcage -> package

* Address some commentary

* Update copyright dates, 2016->2017
2017-10-09 14:14:19 -07:00
Aaron Fisher
5ccc9c17dc Added mfem v3.3.1-rc1 to the mfem package. (#5644) 2017-10-09 21:48:25 +02:00
Axel Huebl
4ba7359d55 libpng: zlib flags more elegant (#5656) 2017-10-09 21:46:10 +02:00
becker33
5d13f236b4 Fix setup for changes to dirty flag (#5592)
* Pass dirty arg through setup to setup_package
2017-10-09 10:01:55 -07:00
Christoph Junghans
57643ae84e espressopp: added v1.9.5 (#5652) 2017-10-08 18:16:56 -07:00
Piotr Luszczek
1b5410b87b Add PLASMA package (#5540) 2017-10-08 17:59:41 -06:00
Pramod S Kumbhar
32d183af05 Fix node-js : requires openssl min 1.0.2 (#5650) 2017-10-08 17:04:09 -06:00
Denis Davydov
5ed457759c hypre: add 2.12.1 (#5653) 2017-10-08 07:27:25 -06:00
George Hartzell
ee6d21e311 adding http2 support (#5628)
Requires nghttp2 libraries
2017-10-07 09:58:56 -06:00
lingnanyuan
73bb34ad6e r-affycomp: Create new package. (#5642) 2017-10-06 20:13:57 -06:00
lingnanyuan
a755c47fb1 r-affxparser: Create new package. (#5641) 2017-10-06 20:13:38 -06:00
Yifan Zhu
cf94e4140b r-genomeinfodbdata: created new package (#5639) 2017-10-06 20:13:09 -06:00
Yifan Zhu
62538e3d37 r-hms: created new package (#5638) 2017-10-06 20:12:59 -06:00
scheibelp
b08d457dfd Don't check package.installed in _mark_concrete if value=True (#5634)
* spec and spec.package.spec can refer to different objects in the
database. When these two instances of spec differ in terms of
the value of the 'concrete' property, Spec._mark_concrete can
fail when checking Spec.package.installed (which requires
package.spec to be concrete). This skips the check for
spec.package.installed when _mark_concrete is called with
'True' (in other words, when the database is marking all specs
as being concrete).

* add test to confirm this fixes #5293
2017-10-06 14:23:28 -07:00
William Scullin
3d8d3e8882 qmcpack: new package (#4907)
This adds QMCPACK along with patches to Quantum Espresso for using Quantum Espresso in QMCPACK workflows.
2017-10-06 13:51:18 -07:00
George Hartzell
d05f98d405 Nghttp2 new package (#5627)
* nghttp2 library package

Added for dependencies

* Update package.py

* Removed useless code

* Flake8 fix
2017-10-06 13:59:56 -06:00
George Hartzell
a659f0f8f4 Add a package for VarDictJava@1.5.1 (#5626)
This is a simple package that drops their shell wrapper into
prefix.bin and their jar files into prefix.lib.

The approach comes from the picard package.
2017-10-06 13:58:34 -06:00
George Hartzell
202c66d90c The silver searcher: new version (#5630)
* Updating ag to the latest version

* Pretty by request

* Restore url to previous value

There *is* an https version available, but I've also been told
to not just update the url when adding new version.  I'm following
the latter advice and trusting security to the digest.
2017-10-06 13:56:58 -06:00
Massimiliano Culpo
2b2a5ca7bf git + luafilesystem: minor fixes (#5635)
* git: setup_dependent_environment won't fail for external packages

* luafilesystem: relax the request on git (it seemed overly restrictive)
2017-10-06 13:56:14 -06:00
George Hartzell
68011bde39 maven: new version (#5631)
* Adding maven v3.5.0

Updating package file to include later version of maven but still signifying a preference for the older

* removing specific preference flag
2017-10-06 13:53:56 -06:00
Michael Kuhn
4065ef2106 ncl: Fix temp directory and depend on esmf (#5636)
* ncl: Fix temp directory

Currently, ncl is configured using a transient temp directory. This
leads to warnings such as this when executing ncl later on:

warning:"/tmp/ncl_ncar_xxxxxx" tmp dir does not exist or is not writable:
NCL functionality may be limited -- check TMPDIR environment variable

As this also breaks some functionality, use the system temp directory
instead (typically /tmp).

* ncl: Depend on esmf

esmf is required for some ncl scripts (such as ESMF_regridding.ncl).
2017-10-06 13:53:05 -06:00
George Hartzell
b9d7903cdb Add link dependency on xproto to xau (recent dependency mechanics changes?) (#5624)
* Add link dependency on xproto to xau

The libxcb build was failing like so:

```
1 error found in build log:
     [ ... ]
     131   checking whether to build developer documentation... yes
     132   checking for doxygen... /usr/bin/doxygen
     133   checking for dot... /usr/bin/dot
     134   checking for CHECK... no
     135   checking for XCBPROTO... yes
     136   checking for NEEDED... no
  >> 137   configure: error: Package requirements (pthread-stubs xau >= 0.99.2) were not met:
     138
     139   Package 'xproto', required by 'xau', not found
     140
     141   Consider adjusting the PKG_CONFIG_PATH environment variable if you
     142   installed software in a non-standard prefix.
     143
```

This adds a link dependency on libxproto that allows the libxcb build to
succeed.

* Change more build deps to build, link

These were also necessary for emacs+X to build.

* Fix flake8 complaint
2017-10-05 16:53:12 -06:00
Audrey Thoma
17139b575d fsl: new package (#5605) 2017-10-05 11:57:57 -07:00
Jimmy Tang
c6e7fb25a4 Fix formatting typo (#5622) 2017-10-05 10:58:51 -07:00
scheibelp
6243a28da1 Don't change properties on already-installed packages (#5580)
* edits to address issues where spack concretization attempts to set properties on already-installed specs

* most added checks only need to check if the spec is concrete; they dont also need to check if the package is installed

* add test to ensure that patches are not applied to an installed spec

* add test to ensure that an error is detected when a dependent requests a dependency constraint which conflicts with a requested installed dependency
2017-10-05 10:33:04 -07:00
lingnanyuan
747b584e2e r-acme: Create new package. (#5620) 2017-10-05 10:22:24 -06:00
lingnanyuan
b41dfa8bd2 r-acgh: Create new package. (#5619) 2017-10-05 10:22:03 -06:00
lingnanyuan
a66eb716a7 r-cluster: Update version to 2.0.6. (#5618) 2017-10-05 10:21:44 -06:00
lingnanyuan
58609c5b67 r-absseq: Create new package. (#5617) 2017-10-05 10:21:33 -06:00
lingnanyuan
2c300653d5 r-acde: Create new package. (#5616) 2017-10-05 10:21:17 -06:00
lingnanyuan
4a1351c546 r-boot: Update version to 1.3-20 (#5615) 2017-10-05 10:20:45 -06:00
Michael Kuhn
fe551a4d9a esmf: Fix build (#5607)
- Use libs instead of lapack_libs (see #3364).
- Add a patch to fix building with recent versions of gcc.
- Add a patch to fix building with mvapich2.
2017-10-05 08:58:40 -06:00
lingnanyuan
21c79edb10 r-abadata: new package. (#5611) 2017-10-05 08:58:04 -06:00
lingnanyuan
f54e30b065 r-abaenrichment: Create new package. (#5612) 2017-10-05 08:57:42 -06:00
Axel Huebl
44653dc7aa CMake: 3.9.4 (#5614)
Adds the latest release of CMake.
2017-10-05 08:57:20 -06:00
Christoph Junghans
ffe90834b3 Add the Sandbox package (#5595) 2017-10-04 18:40:03 -07:00
becker33
04a4ac68d5 Identify the flag handlers feature as beta (#5609)
The flag-handling logic added in #4421 may change semantics, so this
commit adds a warning to the documentation for this feature.
2017-10-04 18:32:13 -07:00
becker33
328ab328be Fix module loads (#5599)
Fixes #5455

All methods within setup_package use an EnvironmentModifications object
to control the environment. Those modifications are applied at the end
of setup_package. Module loads for the build environment need to be
done after the rest of the environment modifications are applied, as
otherwise Spack may unset variables set by those modules (for example
LD_LIBRARY_PATH).
2017-10-04 18:25:55 -07:00
Massimiliano Culpo
3556eaae7e module files: restricted token expansion + case sensitivity (#5474)
closes #2884
closes #4684

In #1848 we decided to use `Spec.format` to expand certain tokens in
the module file naming scheme or in the environment variable name.
Not all the tokens that are allowed in `Spec.format` make sense in
module file generation. This PR restricts the set of tokens that can
be used, and adds tests to check that the intended behavior is respected.

Additionally, the names of environment variables set/modified by module
files were, up to now, always uppercase. There are packages though that
require case sensitive variable names to honor certain behaviors (e.g.
OpenMPI). This PR restricts the uppercase transformation in variable
names to `Spec.format` tokens.
2017-10-04 18:14:06 -07:00
scheibelp
395000c385 spec.patches: fix dictionary reference (#5608)
This fixes a loop that was iterating through the keys of a dictionary
when it was intending to use the values.
2017-10-04 17:14:58 -07:00
Ben Boeckel
44fbf95dd4 extensions: create install prefixes (#5601)
Tests fail locally because the install prefix doesn't exist. Make them
exist.
2017-10-04 14:08:05 -07:00
Massimiliano Culpo
5fa1191d17 Hotfix: maintain patch order while fixing hash
fixes #5587

In trying to preserve patch ordering, #5476 made equality inconsistent
for the added 'patches' variant. This commit maintains the original
weak ordering of patch applications while preserving consistency of
comparisons. The ordering DOES NOT enter the hashing mechanism. It's
supposed to be a hotfix, while we think of a cleaner and more-permanent
solution.
2017-10-04 11:39:25 -07:00
Yifan Zhu
2b7a37ed99 r-tibble: added dependency r-rlang (#5536)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-tibble: Update version to 1.3.4

* r-tibble: added dependency r-rlang

* r-tibble: changed r-lazyeval and r-rlang to be versioned dependencies

* Update package.py

* Update package.py
2017-10-04 09:59:40 -07:00
Audrey Thoma
727e542b80 tassel: new package (#5583) 2017-10-04 10:28:28 -06:00
Michael Kuhn
1d8b77b600 xerces-c: Fix url (#5597)
The main location only carries the latest release, while all previous
(and current) ones are available at the archive location.
2017-10-04 10:25:31 -06:00
Axel Huebl
a8bf49b4a1 OpenSSL: Fix Zlib (#5584)
Fix missing `-lz` on `make` of OpenSSL.
Spotted on a system without a system-wide zlib installation.
2017-10-04 10:25:11 -06:00
scheibelp
f53be46186 wrap generator with collection to avoid exhausting it with single iteration (#5586) 2017-10-03 16:47:07 -07:00
Yifan Zhu
ed656dccf5 r-edger: created new package (#5571) 2017-10-03 17:34:46 -06:00
George Hartzell
23454e3e28 Add package for multitail@6.4.2 (#5567)
* Add package for multitail@6.4.2

Lightly tested on CentOS 7.

* Responde to feedback/comments

Use `install_targets` to specify PREFIX= and DESTDIR= instead of
hacking away at the Makefile.  Expand commentary about "Why?".

Use `headers.include_flags` and `libs.ld_flags` to avoid explicitly
setting `-L` and `-I` when hacking away at the Makefile.
2017-10-03 16:05:19 -06:00
Robert Pavel
9871a2eb91 ExaSP2 Spackage (#5570)
* Added exasp2 spackage

Added spackage for exasp2 proxy app

* Fixed MPI in ExaSP2

Explicitly disabled MPI when not enabled.
Set MPI variant to default as per Spack standards

* Generalized BML Passing for ExaSP2

* Modified to follow spack rules on blas

Fortunately was able to modify exasp2 build system to support spack
model for blas and lapack requirements. No guarantee is made for support
of anything other than originally supported libraries

* Fixed flake8 error
2017-10-03 16:04:49 -06:00
lingnanyuan
a05964959d r-a4base: new package. (#5576) 2017-10-03 16:04:18 -06:00
lingnanyuan
e858e4de17 r-a4: new package. (#5577) 2017-10-03 16:03:57 -06:00
Audrey Thoma
0fa3d8f35e fastqvalidator: new package (#5573)
* fastqvalidator: new package

* adding version-specificity to compiler conflict

* quick changes to env vars and build phase

* Update package.py

* oops. forgot to install executable

* Update package.py

* updating package.py

* turn env into targets
2017-10-03 15:56:32 -06:00
Axel Huebl
ba06eb72d0 libpng: zlib path (#5581)
explicitly set the zlib path for libpng configure.

fixes:
```
     [ ... ]
     92    checking for memset... yes
     93    checking for pow... no
     94    checking for pow in -lm... yes
     95    checking for clock_gettime... yes
     96    checking for zlibVersion in -lz... no
     97    checking for z_zlibVersion in -lz... no
  >> 98    configure: error: zlib not installed
```
2017-10-03 14:58:28 -06:00
Audrey Thoma
3e79872ada sra-toolkit: new package (#5588)
* sra-toolkit: new package

* adding description and homepage
2017-10-03 14:41:41 -06:00
George Hartzell
5bc81c8db2 Tell configure about gmp (#5585)
This is a partial fix for #5564.

This package used to trust that `configure` would discover `gmp` from
its environment.

It's safer to tell it where to find `gmp` explicitly.

This does that by adding a configure_args() that provides a
`--with-gmp=...` argument for configure.
2017-10-03 14:40:14 -06:00
Christoph Junghans
d22ee8f993 patch: add workdir option (#5501)
* patch: add working_dir option
* added documentation
2017-10-02 22:56:43 -07:00
Audrey Thoma
35085fdae2 mrtrix3: new package (#5568)
* mrtrix3: new package

* specifying conflict dependency ve
2017-10-02 15:56:15 -06:00
lingnanyuan
140fbeda65 r-a4reporting: new package. (#5575) 2017-10-02 15:54:44 -06:00
Yifan Zhu
960dcec9e3 r-locfit: created new package (#5572) 2017-10-02 15:54:26 -06:00
Robert Pavel
d3e4e88bae Added support for BML+mpi variant (#5563)
* Added support for BML+mpi variant

Added support for BML+mpi variant. Currently restricted to master
(develop) branch pending release of next bml tag

* Update package.py

Removing redundant statement

* Update package.py

Added explicit disabling of MPI when not requested
2017-10-02 12:51:06 -06:00
Robert Pavel
0d0d2663d2 Added Spackage for YAJL (#5566)
Added spackage for YAJL
2017-10-02 12:50:55 -06:00
Audrey Thoma
538b702314 linkphase3: new package (#5493)
* linkphase3: new package

* adding ifort option

* Update package.py
2017-10-02 12:36:39 -06:00
Audrey Thoma
7cb2766790 hisat2: new package (#5488) 2017-10-02 10:27:06 -07:00
Axel Huebl
48e4efc2a4 CUDA 9.0.176 (#5562)
The first stable release of CUDA 9, v9.0.176, is out.

This adds its installer and checksum.
2017-10-02 10:47:32 -06:00
Todd Gamblin
29ca18e348 Port CTest's log scraping logic to Spack (#5561)
- This steals the magic regular expressions that CTest uses to parse log
  files and addds them to Spack.  See here:

  https://github.com/Kitware/CMake/blob/master/Source/CTest/cmCTestBuildHandler.cxx

  These are BSD licensed, so the port is in `externa/ctest_log_parser.py`

- We currently use these to do better filtering of errors from build
  output.  Plan is to use them to generate good CDash output.
2017-09-30 22:39:21 -07:00
Todd Gamblin
8648e2cda5 Add testing for spack blame; refactor llnl.util tests 2017-09-30 16:31:56 -07:00
Todd Gamblin
41a2652ef2 Add 'spack blame' command: shows contributors to packages
`spack blame` prints out the contributors to a package.

By modification time:

```
$ spack blame --time llvm
LAST_COMMIT    LINES  %      AUTHOR               EMAIL
3 days ago     2      0.6    Andrey Prokopenko    <andrey.prok@gmail.com>
3 weeks ago    125    34.7   Massimiliano Culpo   <massimiliano.culpo@epfl.ch>
3 weeks ago    3      0.8    Peter Scheibel       <scheibel1@llnl.gov>
2 months ago   21     5.8    Adam J. Stewart      <ajstewart426@gmail.com>
2 months ago   1      0.3    Gregory Becker       <becker33@llnl.gov>
3 months ago   116    32.2   Todd Gamblin         <tgamblin@llnl.gov>
5 months ago   2      0.6    Jimmy Tang           <jcftang@gmail.com>
5 months ago   6      1.7    Jean-Paul Pelteret   <jppelteret@gmail.com>
7 months ago   65     18.1   Tom Scogland         <tscogland@llnl.gov>
11 months ago  13     3.6    Kelly (KT) Thompson  <kgt@lanl.gov>
a year ago     1      0.3    Scott Pakin          <pakin@lanl.gov>
a year ago     3      0.8    Erik Schnetter       <schnetter@gmail.com>
3 years ago    2      0.6    David Beckingsale    <davidbeckingsale@gmail.com>

3 days ago     360    100.0
```

Or by percent contribution:

```
$ spack blame --percent llvm
LAST_COMMIT    LINES  %      AUTHOR               EMAIL
3 weeks ago    125    34.7   Massimiliano Culpo   <massimiliano.culpo@epfl.ch>
3 months ago   116    32.2   Todd Gamblin         <tgamblin@llnl.gov>
7 months ago   65     18.1   Tom Scogland         <tscogland@llnl.gov>
2 months ago   21     5.8    Adam J. Stewart      <ajstewart426@gmail.com>
11 months ago  13     3.6    Kelly (KT) Thompson  <kgt@lanl.gov>
5 months ago   6      1.7    Jean-Paul Pelteret   <jppelteret@gmail.com>
3 weeks ago    3      0.8    Peter Scheibel       <scheibel1@llnl.gov>
a year ago     3      0.8    Erik Schnetter       <schnetter@gmail.com>
3 years ago    2      0.6    David Beckingsale    <davidbeckingsale@gmail.com>
3 days ago     2      0.6    Andrey Prokopenko    <andrey.prok@gmail.com>
5 months ago   2      0.6    Jimmy Tang           <jcftang@gmail.com>
2 months ago   1      0.3    Gregory Becker       <becker33@llnl.gov>
a year ago     1      0.3    Scott Pakin          <pakin@lanl.gov>

3 days ago     360    100.0
```
2017-09-30 16:31:56 -07:00
George Hartzell
46d5901770 Typo: file -> directory (#5560)
Mirrors are directories (that use `file://` URLS, not files.
2017-09-30 14:32:07 -07:00
Todd Gamblin
96d2488e0c Documentation for dependency patching. 2017-09-30 02:06:59 -07:00
Todd Gamblin
4f8c7d57eb Patches are hashed with specs, and can be associated with dependencies.
- A package can depend on a special patched version of its dependencies.

  - The `Spec` YAML (and therefore the hash) now includes the sha256 of
    the patch in the `Spec` YAML, which changes its hash.

  - The special patched version will be built separately from a "vanilla"
    version of the same package.

  - This allows packages to maintain patches on their dependencies
    without affecting either the dependency package or its dependents.
    This could previously be accomplished with special variants, but
    having to add variants means the hash of the dependency changes
    frequently when it really doesn't need to.  This commit allows the
    hash to change *just* for dependencies that need patches.

  - Patching dependencies shouldn't be the common case, but some packages
    (qmcpack, hpctoolkit, openspeedshop) do this kind of thing and it
    makes the code structure mirror maintenance responsibilities.

- Note that this commit means that adding or changing a patch on a
  package will change its hash.  This is probably what *should* happen,
  but we haven't done it so far.

  - Only applies to `patch()` directives; `package.py` files (and their
    `patch()` functions) are not hashed, but we'd like to do that in the
    future.

- The interface looks like this: `depends_on()` can optionally take a
  patch directive or a list of them:

     depends_on(<spec>,
                patches=patch(..., when=<cond>),
                when=<cond>)
     # or
     depends_on(<spec>,
                patches=[patch(..., when=<cond>),
                         patch(..., when=<cond>)],
                when=<cond>)

- Previously, the `patch()` directive only took an `md5` parameter.  Now
  it only takes a `sha256` parameter.  We restrict this because we want
  to be consistent about which hash is used in the `Spec`.

- A side effect of hashing patches is that *compressed* patches fetched
  from URLs now need *two* checksums: one for the downloaded archive and
  one for the content of the patch itself.  Patches fetched uncompressed
  only need a checksum for the patch.  Rationale:

  - we include the content of the *patch* in the spec hash, as that is
    the checksum we can do consistently for patches included in Spack's
    source and patches fetched remotely, both compressed and
    uncompressed.

  - we *still* need the patch of the downloaded archive, because we want
    to verify the download *before* handing it off to tar, unzip, or
    another decompressor.  Not doing so is a security risk and leaves
    users exposed to any arbitrary code execution vulnerabilities in
    compression tools.
2017-09-30 02:06:59 -07:00
Todd Gamblin
14c141a410 add spack flake8 exception for long checksums 2017-09-30 02:06:59 -07:00
Todd Gamblin
bf610a379f Clean up exceptions and function names in directives.
- Functions returned by directives were all called `_execute`, which made
  reading stack traces hard because you couldn't tell what directive a
  frame came from.
  - renamed them all to `_execute_<directive>`

- Exceptions in directives were only really used in one or two places --
  get rid of the boilerplate init functions and let the callsite specify
  the message.
2017-09-30 02:06:59 -07:00
Todd Gamblin
94d85d842c Consolidate some web-spidering commands in spack.util.web
- move `spack.cmd.checksum.get_checksums` to `spack.util.web.spider_checksums`

- move `spack.error.NoNetworkError` to `spack.util.web.NoNetworkError` since
  it is only used there.
2017-09-30 02:06:59 -07:00
Todd Gamblin
2198a0e229 Disable duplicate cross-reference warnings in Sphinx. 2017-09-30 02:06:59 -07:00
Todd Gamblin
0e8bb9ec5e Refactor Package dependency metadata
- Previously, dependencies and dependency_types were stored as separate
  dicts on Package.
  - This means a package can only depend on another in one specific way,
    which is usually but not always true.
  - Prior code unioned dependency types statically across dependencies on
    the same package.

- New code stores dependency relationships as their own object, with a
  spec constraint and a set of dependency types per relationship.
  - Dependency types are now more precise
  - There is now room to add more information to dependency relationships.

- New Dependency class lives in dependency.py, along with deptype
  definitions that used to live in spack.spec.

Move deptype definitions to spack.dependency
2017-09-30 02:06:59 -07:00
Todd Gamblin
a3cb6b61ea Patch.apply() shouldn't affect working directory of caller. 2017-09-30 02:06:59 -07:00
Todd Gamblin
29ce69f3ed Only print "no patches needed" if there were no patches. 2017-09-30 02:06:59 -07:00
scheibelp
9e7faff6c9 Add test deptype (#5132)
* Add '--test=all' and '--test=root' options to test either the root or the root and all dependencies.
* add a test dependency type that is only used when --test is enabled.
* test dependencies are not added to the spec, but they are provided in the test environment.
2017-09-29 22:08:15 -07:00
Yifan Zhu
3c0e799a51 r-limma: added version 3.32.7 (#5558) 2017-09-29 16:29:41 -06:00
Jon Rood
ebbdde9625 Masa requires python if +python. (#5547) 2017-09-29 16:14:12 -06:00
lingnanyuan
756fb83f04 r-a4classif: new package. (#5557) 2017-09-29 16:06:27 -06:00
lingnanyuan
17b8f6b818 r-yaml: Correct url (#5550)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-yaml: Correct url.
2017-09-29 16:05:55 -06:00
Yifan Zhu
7c87cb1ad1 r-downloader: created new package (#5556) 2017-09-29 16:05:30 -06:00
lingnanyuan
f9e33e9b59 r-mlinterfaces: new package. (#5555)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-mlinterfaces: Create new package.
2017-09-29 15:34:44 -06:00
Yifan Zhu
06a6c6a399 r-biomart: created new package (#5554) 2017-09-29 15:33:40 -06:00
lingnanyuan
18029f5f47 r-threejs: Correct url. (#5553)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-threejs: Correct url.
2017-09-29 15:33:05 -06:00
Jon Rood
d19eb152c8 Adding new Trilinos version and updating Nalu to utilize it. (#5552) 2017-09-29 15:31:15 -06:00
lingnanyuan
e1f33bd903 r-hwriter: new package. (#5549)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-hwriter: Create new package.
2017-09-29 15:29:26 -06:00
lingnanyuan
211f731065 r-gbm: new package. (#5548)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-gbm: Create new package.
2017-09-29 15:29:11 -06:00
lingnanyuan
4cc1ff5ce8 r-htmlwidgets: Update version to 0.8. (#5551) 2017-09-29 14:28:48 -07:00
lingnanyuan
89b30bea7f r-a4preproc: Create new package. (#5499) 2017-09-29 15:27:20 -06:00
Massimiliano Culpo
554937780b modules: specialized configure_options for external packages (#5543)
closes #5473

Prior to this PR we were not exiting early for external packages, which
caused the `configure_options` property of the contexts to fail with
e.g. a key error because the DAG gets truncated for them. More
importantly Spack configure options don't make any sense for externals.

Now we exit early, and leave a message in the module file clarifying
that this package has been installed outside of Spack.
2017-09-29 09:23:13 -07:00
Yifan Zhu
a63fdc8f35 r-dbi: updated to version 0.7 (#5537)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-dbi: Create new package.

* r-dbi: modified according to flake8

* Update package.py

* Update package.py
2017-09-28 22:14:56 -06:00
lingnanyuan
aab68aaecf r-gdata: Update version to 2.18.0 (#5495) 2017-09-28 18:13:06 -07:00
Mark C. Miller
e851d15974 fixing tag name for development branch (#5496) 2017-09-28 18:12:02 -07:00
Yifan Zhu
aee44efada r-biostrings: created new package (#5498) 2017-09-28 18:11:28 -07:00
Yifan Zhu
b455fa2a7b r-gcrma: created new package (#5500) 2017-09-28 18:11:02 -07:00
Yifan Zhu
e42fd90df2 r-yaqcaffy: created new package (#5538) 2017-09-28 18:02:58 -07:00
Jon Rood
5e3024368e Add metaphysicl package (#5539)
* Adding package Metaphysicl.

* Removing list_url from metaphysical package.
2017-09-28 18:02:07 -07:00
Jon Rood
90e4b56362 Adding masa package. (#5541) 2017-09-28 18:01:38 -07:00
Yifan Zhu
6d63be9eb6 r-rlang: created new package (#5535) 2017-09-28 16:07:13 -06:00
Christoph Junghans
337256ee32 tycho2: initial commit (#5196) 2017-09-28 14:48:54 -07:00
Mark Olesen
aff6148116 Restrict openfoam to using openmpi+thread_multiple (partially resolves #5428) (#5479)
- latest version requires openmpi+thread_multiple for collated output.
2017-09-28 14:42:14 -06:00
Michael Kuhn
97bc86d617 snappy: Build shared library by default (#5534) 2017-09-28 14:18:50 -06:00
lingnanyuan
aa40509fa0 r-ggvis: Update version to 0.4.3 (#5532)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-ggvis: Update version to 0.4.3

* Update package.py

* Update package.py
2017-09-28 13:13:47 -06:00
lingnanyuan
0962088776 r-dplyr: Update version to 0.7.3 (#5531)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-dplyr: Update version to 0.7.3

* Update package.py

* Update package.py
2017-09-28 13:09:30 -06:00
Michael Kuhn
ac98e0978a ncl: Add tcsh dependency (#5195)
All ncl scripts hardcode /bin/csh, so fix them up.
2017-09-28 12:51:04 -06:00
Michael Kuhn
17be89c210 tcsh: New package (#5194)
The patches are taken from the Fedora package.
2017-09-28 12:50:52 -06:00
lingnanyuan
0bc3578dac r-annaffy: new package. (#5414)
* r-annaffy: Create New Package.

* r-annaffy: Create new package.

* r-go-db: Create new package.

* r-kegg-db: Create new package.

* r-annaffy: Correct indentation.

* r-go-db: Correct indentation.

* r-kegg-db: Correct format.

* r-kegg-db: Correct format.

* r-go-db: Correct format.

* r-annaffy: Correct format.
2017-09-28 12:49:31 -06:00
Audrey Thoma
3f44eb0179 fastq-screen: new package (#5431)
* fastq-screen: new package

* fixing descriptions and previously made packages' old copyright date

* added wrong perl package after change
2017-09-28 12:48:31 -06:00
Brian Homerding
0ce93d7333 Added hacckernels package (#5533) 2017-09-28 12:46:26 -06:00
lingnanyuan
d61e92b439 r-r6: Update version to 2.2.2 (#5529)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-r6: Update version to 2.2.2
2017-09-28 12:46:11 -06:00
lingnanyuan
c0e1b1f68e r-shiny: update version to 1.0.5 (#5530)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-shiny: Update version to 1.0.5
2017-09-28 11:31:27 -06:00
lingnanyuan
a613244602 r-htmltools: Update version to 0.3.6 (#5528)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-htmltools: Update version to 0.3.6
2017-09-28 11:31:16 -06:00
lingnanyuan
0c385e94e6 r-httpuv: Update version to 1.3.5 (#5527)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-httpuv: Update version to 1.3.5
2017-09-28 11:30:57 -06:00
lingnanyuan
38ea408126 r-rcpp: Update version to 0.12.13 (#5526)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-rcpp: Update version to 0.12.13

* r-rcpp: Correct url.
2017-09-28 11:30:25 -06:00
Kelly (KT) Thompson
4e4247dd18 Provide a new Perl package 'cloc'. (#5525)
+ Count, or compute differences of, physical lines of source code in the
  given files (may be archives such as compressed tarballs or zip files)
  and/or recursively below the given directories.
2017-09-28 11:30:08 -06:00
lingnanyuan
e101665e5e r-jsonlite: Update version to 1.5 (#5524)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-jsonlite: Update version to 1.5
2017-09-28 11:28:49 -06:00
lingnanyuan
4d445f8436 r-rda: new package. (#5523)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-rda: Create new package.
2017-09-28 11:28:29 -06:00
Mark Olesen
cd825baee9 - build paraview without qt when osmesa is specified. (#5480)
- new paraview version (5.4.1 from August)
2017-09-27 22:32:10 -06:00
lingnanyuan
ab21d268be r-sfsmisc: new package. (#5516)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-sfsmisc: Create new package.

* r-sfsmisc: Correct format.
2017-09-27 22:16:02 -06:00
Robert Pavel
b681146875 Added spackage for branson (#5520)
Added spackage for branson proxy for monte carlo
2017-09-27 21:50:07 -06:00
Gregory Lee
16bd1449be added qt creator version 4.4.0 (#5518) 2017-09-27 21:49:33 -06:00
lingnanyuan
d5fcbab8de r-varselrf: new package. (#5515)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-varselrf: Create new package.
2017-09-27 21:48:22 -06:00
lingnanyuan
97208d9888 r-pamr: new package (#5514)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-pamr: Create new package.
2017-09-27 21:48:04 -06:00
lingnanyuan
51e99c5fde r-rocr: new package. (#5513)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-rocr: Create new package.
2017-09-27 21:47:47 -06:00
lingnanyuan
e7c0e12256 r-a4core: new package. (#5512)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-a4core: Create new package.

* r-a4core: Correct format.
2017-09-27 21:47:12 -06:00
Yifan Zhu
98bb213fe2 r-simpleaffy: created new package (#5510) 2017-09-27 21:46:53 -06:00
Robert Pavel
48066a808e ExaMPM (#5509)
* Added ExaMPM Spackage

* Removed template text
2017-09-27 21:46:32 -06:00
Robert Pavel
2942ddc1e0 Added Support for BML 1.2.2 (#5502)
* Added Support for BML 1.2.2

* Added checksums

* Update package.py
2017-09-27 21:46:14 -06:00
Robert Pavel
e4f4f9a6e5 Added shards and intrepid(2) to trilinos (#5481)
Added support for shards, intrepid, and intrepid2 variants to trilinos
spackage
2017-09-27 21:41:53 -06:00
Robert Pavel
aa2a403536 Added CoEVP Spackage (#5485)
* Added CoEVP Spackage

Added spackage for baseline (mpi, no other dependencies) CoEVP

* coevp: add more variants

* tag as proxy-app
2017-09-27 21:41:34 -06:00
Sheng Di
3be81a0b10 SZ: add version 1.4.11 (#5517) 2017-09-27 16:30:43 -07:00
Christoph Junghans
f27aad68bf flann: fix build for 1.8.1 (#5508)
* Update url_for_version for versions 1.8.1 and earlier
* Add python dependency when +python is enabled
2017-09-27 14:39:33 -07:00
Christoph Junghans
83ab062583 lammps: add user-omp package (#5486)
* Simplify cmake arg generation
* Set -DFFT when kspace variant is enabled
2017-09-27 12:46:58 -07:00
Ken Raffenetti
c242165ebd Additional MPICH configs (#5259)
* Add support for building develop version from git
* Add device and netmod variants
2017-09-27 10:50:05 -07:00
lingnanyuan
90dd5e2932 r-gplots: Create New Package. (#5494)
* r-gplots: Create New Package.

* r-gplots: Correct format.
2017-09-27 10:20:17 -06:00
Michael Kuhn
ed6003b514 libbson, libmongoc: Update to 1.8.0 (#5478) 2017-09-27 10:19:10 -06:00
Yifan Zhu
df1606e84e r-rcurl: created new package (#5492) 2017-09-26 17:49:54 -06:00
lingnanyuan
618d3add4f r-annotate: new package. (#5490)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-annotate: Create new package.

* r-annotate: Create new package.
2017-09-26 15:39:34 -06:00
zenln
c7f8405636 Autodock vina: spec (#5333)
* Autodock vina: spec

* Adding comment to patch. The implemnetation of boost is version dependent on older boost replacing depecrated function of boost.

* Adding in boost version dependency
2017-09-26 14:44:21 -06:00
Jim Galarowicz
95ff37309a Add ability to build llvm-openmp-ompt alone, with gnu compilers and use the resulting ompt interface in cbtf-krell and openspeedshop to gather openmp specific performance information. (#5288)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.

* Add ability to build llvm-openmp-ompt alone, with gnu compilers and use the resulting ompt interface in cbtf-krell and openspeedshop to gather openmp specific performance information.

* Fix flake8 errors.

* Fix flake8 errors - stage 2.

* Fixes based on reviewer suggestions and comments.

* Use build_type variant to set the build type and allow changing of the type.

* Fix missing comma in cmake_arg list, found on another test machine.
2017-09-26 14:15:37 -06:00
Michael Kuhn
f45916fad2 Set LANG= for _spack_fn_exists (#5475)
type's output can be localized, causing the grep to fail.
2017-09-26 12:28:50 -07:00
Christoph Junghans
e3e030cf76 astyle: homepage dead, use mirror (#5483) 2017-09-26 13:03:34 -06:00
Michael Kuhn
86d681be6e snappy: Update to 1.1.7 (#5477)
Convert to CMakePackage and add a pkg-config file (otherwise libmongoc's
pkg-config file does not contain all required flags).
2017-09-26 11:00:21 -06:00
Michael Kuhn
733965b3c6 autoconf, automake: Add missing perl dependency (#5187)
* autoconf, automake: Add missing perl dependency

* automake: Add 1.15.1
2017-09-26 08:10:22 -06:00
Michael Kuhn
60f8621704 Missing perl dependencies (#5204)
* glib: Add missing perl dependency

* shared-mime-info: Add missing perl dependency

* libx11: Add missing perl dependency

* likwid: Add missing perl dependency
2017-09-26 07:27:28 -06:00
lingnanyuan
f3152a5600 r-limma: new package. (#5468)
* r-limma: Create New Package.

* pr-quantities: add version & py-numpy conflict (#5307)

* r-limma: Create new package.

* r-limma: Correct format.

* Update package.py
2017-09-25 19:55:03 -06:00
Yifan Zhu
9b2c9bb699 r-affy: created new package (#5471) 2017-09-25 16:57:56 -06:00
lingnanyuan
34d4131284 r-genefilter: New package. (#5467)
* r-genefilter: Create New Package.

* r-genefilter: Create new package.

* r-genefilter: Correct format.

* Update package.py
2017-09-25 16:57:17 -06:00
Yifan Zhu
111c216fb7 r-xml: updated url and added version 3.98-1.9 (#5466)
* r-xml: updated url and added version 3.98-1.9

* Update package.py
2017-09-25 16:46:01 -06:00
lingnanyuan
8f0fbb4e11 r-multtest: new package. (#5469)
* r-multtest: Create New Package.

* pr-quantities: add version & py-numpy conflict (#5307)

* r-multtest: Create new package.

* r-multtest: Correct format.
2017-09-25 16:45:21 -06:00
lingnanyuan
fefb668dcb r-plogr: new package. (#5443)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-plogr:Create new package.

* r-plogr: Correct format.
2017-09-25 16:42:03 -06:00
lingnanyuan
fafd240c30 r-glmnet: update version. (#5470)
* r-glmnet: Create New Package.

* pr-quantities: add version & py-numpy conflict (#5307)

* r-glmnet: Update version to 2.0-13

* r-matrix: Update version to 1.2-11

* r-lattice: Update version to 0.20-35.
2017-09-25 16:39:41 -06:00
lingnanyuan
33adb08672 r-pkgconfig: new package. (#5441)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-pkgconfig: Create new package.

* r-pkgconfig: Correct format.

* r-pkgconfig: Correct format.
2017-09-25 16:38:45 -06:00
lingnanyuan
eb4ad328ee r-bit64: new package. (#5437)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-bit64: Create new package.

* r-bit64: Correct format.
2017-09-25 16:38:18 -06:00
lingnanyuan
23235cf3e3 r-annotationdbi: new package (#5408)
* r-annotationdbi: Create New Package.

* r-iranges: Create new package.

* r-s4vectors: Create new package.

* r-annotationdbi: Create new package.

* r-s4vectors: Delete file.

* r-annotationdbi: Correct format.

* r-iranges: Correct format.
2017-09-25 16:37:31 -06:00
lingnanyuan
f94b23a249 r-blob: new package. (#5438)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-blob: Create new package.

* r-blob: Correct format.
2017-09-25 14:41:18 -06:00
Todd Gamblin
13b61913da patch py-mccabe and py-flake8 to not require pytest-runner for install (#5427)
- Filter the pytest-runner dependency out of setup.py in py-mccabe and
  py-flake8
2017-09-25 12:46:47 -07:00
Cyrus Harrison
1348fd5648 update for conduit 0.3.0 release (#5421)
* update for conduit 0.3.0 release

* use mpicxx

* Update package.py
2017-09-25 12:25:40 -06:00
Axel Huebl
28dd6b378c Fix Protobuf URLs (#5373)
The default implementation of Package.fetch_remote_versions will take
a URL like https://github.com/google/protobuf/archive/ and automatically
search https://github.com/google/protobuf/releases/ for new package
versions. In the case of protobuf the release/ path contains release
artifacts for a version and the archive/ path contains the desired
source. Since both are associated with the version, and
Package.fetch_remote_versions only stores one URL for a given version,
the two paths are in conflict; previously the URL returned for a
given version was arbitrarily chosen between the two paths. This
updates the definition for the Protobuf package to always search for
URLs in https://github.com/google/protobuf/archive/
2017-09-25 10:47:55 -07:00
Massimiliano Culpo
8864d145e9 module files: system paths are excluded from path inspection (#5460)
closes #5201

Currently, if a user sets an external package to have a prefix that is
one of the system paths (like '/usr') the module files that are
generated will prepend '/usr/bin' to 'PATH', etc. This is particularly
nasty at the time when a module file is unloaded, and e.g. paths like
'/usr/bin' will be discarded from PATH.

This PR solves the issue skipping system paths when a prefix inspection
is made to generate module files.
2017-09-25 09:47:50 -07:00
Christoph Junghans
64311e8510 lammps: add support of latte package (#5446) 2017-09-25 09:39:29 -07:00
George Hartzell
e947a0b152 Add info for lmod@7.7 and lmod@7.6.14 (#5450)
Lightly tested on CentOS 7
2017-09-25 07:31:43 -06:00
Denis Davydov
330211468a add assimp package. link against it in dealii (#5463) 2017-09-25 06:58:13 -06:00
George Hartzell
99cefcc955 New version for mosh1.3.2 (#5448)
Required an update to the protobuf digest value, which seems to
be amongst the set creamed by GitHub's change.
2017-09-24 15:12:35 -06:00
Andrey Prokopenko
6168b7fda8 llvm: patch lldb for gcc-7 (#5239) 2017-09-24 10:24:36 +02:00
Denis Davydov
8db69de258 hdf5: fix macOS build by not using numactl (#5458) 2017-09-23 22:34:00 -06:00
Christoph Junghans
40777e44e2 parsplice: add version 1.1 (#5461) 2017-09-23 20:28:40 -07:00
Denis Davydov
7f84de52a0 blas_lapack: add multithreading variant consistent in all implementations. (#5340)
* blas_lapack: add multithreading variant

* elemental: update

* intel-mkl: extend to macOS

* rename multithreading to threads

* intel-mkl: avoid long lines

* intel-mkl: make one install error a conflict

* openblas: fix a minor bug in the test
2017-09-23 13:27:42 -07:00
lingnanyuan
bf2f96ce78 r-rsqlite: Update version to 2.0. (#5444)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-rsqlite: Update version to 2.0
2017-09-23 15:02:27 +00:00
lingnanyuan
c3a8f10bf9 r-bh: update version. (#5442)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-bh: Update version to 1.65.0-1
2017-09-23 15:01:35 +00:00
lingnanyuan
8e2351f96c r-memoise: update version. (#5440)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-memoise: Update version to 1.1.0
2017-09-23 15:00:50 +00:00
lingnanyuan
9fdcc147a7 r-tibble: update version. (#5439)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-tibble: Update version to 1.3.4
2017-09-23 15:00:02 +00:00
lingnanyuan
c6a3f4cf9b r-bit: new package. (#5436)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-bit: Create new package.
2017-09-23 14:59:09 +00:00
lingnanyuan
debc492032 r-assertthat: update version to 0.2.0 (#5435)
* pr-quantities: add version & py-numpy conflict (#5307)

* r-assertthat: Update version to 0.2.0
2017-09-23 14:58:53 +00:00
Yifan Zhu
72bb53c018 r-preprocesscore: created new package (#5434) 2017-09-23 14:58:24 +00:00
Yifan Zhu
6134e94ede r-affyio: created new package (#5433) 2017-09-23 14:58:06 +00:00
Yifan Zhu
d2c65247b0 r-xvector: created new package (#5432) 2017-09-23 14:57:31 +00:00
Denis Davydov
4c20d9917e superlu-dist: fix has after 09/17/2017 update (#5457) 2017-09-23 12:50:02 +00:00
George Hartzell
d12f52b37a tmux: add version 2.5 (#5449) 2017-09-22 19:30:47 -07:00
George Hartzell
6e20dd61c0 Ack: add version 2.18 (#5445) 2017-09-22 19:30:12 -07:00
George Hartzell
e43ea22e45 Add info for httpie@0.9.9 (#5451)
Lightly tested on CentOS 7.
2017-09-23 00:40:22 +00:00
George Hartzell
6ac28c1daa Add info for lftp@4.8.1 (#5452)
Lightly tested on CentOS 7.
2017-09-23 00:39:49 +00:00
George Hartzell
315d844ab7 Update git to @2.14.1, requires pcre+jit variant (#5430)
Update the git package to git@2.14.1.

This requires a pcre that has been built with `--enable-jit`, so this
adds a variant to pcre to support that and arranges so that git versions
before 2.14 depend on pcre and git 2.14 and after depend on pcre+jit.
2017-09-22 16:43:45 -07:00
George Hartzell
fd552ab2b9 git-lfs: add 2.2.1 and 2.3.0 (#5429) 2017-09-22 16:36:57 -07:00
George Hartzell
e176c3a3c5 emacs: add version 25.3 (security update) (#5447)
25.3 is a security update. Info here:
https://lists.gnu.org/archive/html/info-gnu/2017-09/msg00006.html

Build both +X and ~X on CentOS 7 and lightly tested.
2017-09-22 16:34:59 -07:00
Massimiliano Culpo
f1fbcfa971 plumed: fixed possible linking issue (#5425)
Due to the logic in configure.ac, we may be using both the system
linker (LD_RO='ld -r -o') and the linker tied to the compiler (LD=$CXX).
This may produce weird link-time errors when the two executables are
not the same.

The PR works around the issue disabling 'ld -r'
2017-09-22 21:14:53 +02:00
Howard Pritchard
a646ec1fff PMIx: add PMIx package to Spack (#5426)
Open MPI has been relying on versions of PMIx since the 2.0.0
release.  Although the embedded version can be used, it makes
more sense long term for Spack to know about the PMIx package,
and to build Open MPI against PMIx as an external package.

There are other software components that may eventually be
reliant on PMIx including MPICH, GASNet, the OpenSHMEM reference
implementation, etc.

This is also partly motivated by the desire to have ECP ST
projects to be released through Spack.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-09-22 11:27:28 -06:00
sknigh
7b4d8d6d1e Version fixes for py-csvkit (#5393) 2017-09-22 10:06:15 -07:00
healther
6ff57bde42 Add package py-memory-profiler (#5413)
* add package memory profiler

* fix FIXME
2017-09-21 20:00:09 -06:00
Yifan Zhu
77f2221177 r-s4vectors: created new package (#5419)
* r-s4vecors: created new package

* Update package.py

* edited according to flake8
2017-09-21 19:57:02 -06:00
Mike Pozulp
2ad3a1bff7 Update pic/shared variants for hdf5, python, silo (#5423) 2017-09-21 18:14:31 -07:00
scheibelp
45a8c03bdf Prefer later versions of compilers by default (#5234)
* Prefer later versions of compilers by default

* update test to make it less fragile
2017-09-21 17:16:19 -07:00
lingnanyuan
3817111454 r-mpm: new package. (#5416) 2017-09-21 13:36:51 -07:00
Howard Pritchard
699f34c33f OpenMPI: add 2.1.2 bug fix release (#5418) 2017-09-21 13:26:23 -07:00
healther
bce26745e3 Add cpu_target variant to openblas (#5090) 2017-09-21 12:28:24 -07:00
George Hartzell
f39fa2fee9 Use trusted/historic site for texlive installer (#5347)
* Make texlive untrusted

TeXLive updates their installer without changing its name.  We've been
playing keep-up with them, but I'm proposing it's not worth it.

I seem to end up installing it '--no-checksum' anyway.

This commit updates the package to make that approach official,
removing the checksum, adding a note to the description and a bigger
note/comment inthe package body.

* Pull installer from stable source (packages are still *live*)

This pulls the installer script from the "historic" repository.  It
appears to be stable, so that we can use a checksum with it (one
hopes, time will tell).

The installer still pulls the packages from the live repos so
installations aren't reproducible.
2017-09-21 07:22:09 -06:00
healther
837c325160 fix install method of cereal (#5094)
* removed unnecessary install method from cereal

* attempt to fix flake8 error

* adjusted install method

* add CMake options instead of manually patching stuff

* flake8
2017-09-21 07:10:51 -06:00
Yifan Zhu
a4309e1129 r-zlibbioc: new package (#5399) 2017-09-21 08:43:33 +02:00
Yifan Zhu
7373d20cbc r-biocinstaller: added version 1.26.1 (#5406) 2017-09-21 08:42:32 +02:00
BenBrands
b8a7b2e9a0 dealii: add cuda support (#5402) 2017-09-21 08:17:24 +02:00
Brian Van Essen
96927deb30 Opencv: fix dependencies and variants (#5232)
Fixes #5159

* Added dependency on google protobuf when using v3.3.0.
* Set default for variant core to be true.
2017-09-20 21:37:52 -07:00
Christoph Junghans
41a656a032 latte: add v1.0.1 (#5403) 2017-09-20 19:02:45 -07:00
Levi Baber
04489d6dfa r-biobase: new package (#5398)
Add r-biobase package. Remove explicit R dependency from r-biocgenerics
package (since it is an instance of RPackage). Update version for
r-biocgenerics and remove github versions.
2017-09-20 19:00:56 -07:00
George Hartzell
1d5f1576a5 Add info for mono@5.4.0.167 (#5405) 2017-09-20 18:44:53 -06:00
Yifan Zhu
bed69e708d r-survival: updated to version 2.41-3 (#5409) 2017-09-20 18:42:16 -06:00
George Hartzell
070ada3aef [WIP]: Sambamba new package (#5304)
* First draft package for sambamba

Depends on the ldc package (#5279) that alalazo's working on.

It requires a patch to the Makefile because one of ldc's library
functions mentions dlopen.  I *think* that ldc should be handling
this.  See the discusssion in #5279.

It also requires a "static" ldc.  Again, see #5279.

Finally, it needs "undeaD" as a resource, but I'm guessing at the
appropriate release.  See
https://github.com/lomereiter/sambamba/issues/312.

* alalazo renamed the shared_libs variant, keep up...
2017-09-20 18:23:49 -06:00
Kelly (KT) Thompson
d10aa385fb Update recipe for cgns to avoid build warnings/errors: (#5382)
+ The recipe for cgns seems to be wrong. CMake complains about variables set but
  not used (`HDF5_NEEDS_ZLIB`, `HDF5_NEEDS_MPI` and `HDF5_NEEDS_SZIP`) and fails
  to find HDF5.
+ This change set removes these variables from the cmake configure line,
  replacing them with `'-DHDF5_DIR=%s' % spec['hdf5'].prefix`
+ cgns also has trouble with parallel make, so I set `parallel = False`.
2017-09-20 18:21:14 -06:00
Mark C. Miller
02b7e38bb2 Rm arpack parpack (#5391)
* fixes #967

* Version bump to 0.9.1

- Bugfixes for spack find
- 0.9.1 can read specs from current develop.

* Don't assume spack is in the path when building docs.

* fixing build issues for gcc on osx

* reverting inadvertent change on develop

* fixing typesetting of bsws description

* very minor update to RTD docs footer to ref github contributors

* Revert "very minor update to RTD docs footer to ref github contributors"

This reverts commit c40d75da7f.

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

jinja2 has been hooked into Spack.

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

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

* Improved the support for templates in module files.

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

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

* Added jinja2 and MarkupSafe to vendored packages.

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

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

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

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

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

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

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

* Extendable module file contexts + short description from docstring

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

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

* 'module refresh' regenerates all modules by default

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

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

* Fixed python3 compatibility, tests for Lmod and Tcl.

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

Fixed a few compatibility issues with python3.

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

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

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

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

Module file generation will cover the entries in modules.yaml

Also:

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

* Removed redundant arguments to RPackage and WafPackage.

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

* Fixed broken indentation + improved resiliency of refresh

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

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

* Added in mesa +hwrender support

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

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

* build libGLESv1+2 and libGL for all variants

* avoid dependence on dri/libdrm when ~hwrender

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

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

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

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

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

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

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

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

* pyfasta: added package

* py-bsddb3: added package

* py-bsddb3: added package

* Update package.py

* Update package.py

* Update package.py

* removed fixme comments

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

* Update package.py

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

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

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

* Add type=build

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

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

Code in `build_environment.py` that was performing the same
operation has been turned into an assertion to be defensive on
the new behavior.
2017-09-12 12:10:31 -07:00
Denis Davydov
5c24370512 openblas: add ilp64 option (#5289) 2017-09-12 08:40:28 +02:00
Michael Kuhn
b413f37b3e Update libbson and libmongoc to 1.7.0 (#5294)
This also introduces the ssl, snappy and zlib variants for libmongoc.
2017-09-11 22:02:48 -07:00
Christoph Junghans
3ffb6d09d9 parsplice: initial commit (#5314) 2017-09-11 21:59:15 -07:00
Denis Davydov
c9e46a2913 dealii: explicitly specify bzip2 libs (#5337)
* dealii: explicitly specify bzip2 libs
* bzip2: add libs() property
2017-09-11 20:47:05 -07:00
Todd Gamblin
f8f1c308c9 clean up concreteness detection
- Fixes bugs where concretization would fail due to an erroneously cached
  _concrete attribute.

- Ripped out a bunch of code in spec.py that isn't needed/valid anymore:
  - The various concrete() methods on different types of Specs would
    attempt to statically compute whether the Spec was concrete.
  - This dates back to when DAGs were simpler and there were no optional
    dependencies.  It's actually NOT possible to compute statically
    whether a Spec is concrete now.  The ONLY way you know is if it goes
    through concretization and is marked concrete once that completes.
  - This commit removes all simple concreteness checks and relies only on
    the _concrete attribute.  This should make thinking about
    concreteness simpler.

- Fixed a couple places where Specs need to be marked concrete explicitly.
  - Specs read from files and Specs that are destructively copied from
    concrete Specs now need to be marked concrete explicitly.
  - These spots may previously have "worked", but they were brittle and
    should be explcitly marked anyway.
2017-09-11 17:13:21 -07:00
Todd Gamblin
8c42aed9d5 bugfix: concrete dependencies are now copied properly.
- Dependencies in concrete specs did not previously have their cache
  fields (_concrete, _normal, etc.) preserved.

- _dup and _dup_deps weren't passing each other enough information to
  preserve concreteness properly, so only the root was properly
  preserved.

- cached concreteness is now preserved properly for the entire DAG, not
  just the root.

- added method docs.
2017-09-11 17:13:21 -07:00
Todd Gamblin
14cd73ed3c Simplify logic in Spec.normalize() 2017-09-11 17:13:21 -07:00
Todd Gamblin
de7e99f866 Preserve original stack trace for UnsatisfiableSpecError 2017-09-11 17:13:21 -07:00
Massimiliano Culpo
32117c22de 'with_or_without' accepts bool variants
Fixes #4112

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

This commit also includes:

* Updates to viennarna and adios accordingly: they have been modified to
  use `enable_or_disable` and `with_or_without`
* Improved docstrings in `autotools.py`. Raise `KeyError` if name is
  not a variant.
2017-09-11 16:20:49 -07:00
Christoph Junghans
f502de4725 added votca-1.4.1 modules (#5276) 2017-09-11 13:28:53 -07:00
Denis Davydov
8dd7fa03ea elemental: fix broken Config.cmake (#5331) 2017-09-11 13:27:20 -07:00
Christoph Junghans
947cd8e3c0 berkeley-db: initial commit (#5303)
* berkeley-db: initial commit
* berkeley-db: added more versions
2017-09-11 13:25:36 -07:00
Massimiliano Culpo
50eea5cb13 Added 'ldc' compiler for D language based on LLVM (#5279) 2017-09-11 21:54:38 +02:00
Matthew Scott Krafczyk
f57559e4e2 Fix two bugs from the bootstrap update (#5312)
These were discovered with bash 4.1.2.

Add quotations around a variable to prevent the destruction of a
newline. Without this fix a conditional doesn't work properly.

Remove square brackets around a conditional meant to be evaluated based
on the return code of a command. This wasn't working properly with an
old bash.

Fix a typo.
2017-09-10 16:54:23 -10:00
Stephen McDowell
be2be8c70e fix armadillo macro expansions (#5268)
* fix armadillo macro expansions

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

* flake8: two spaces is modules, one for classes

* add some explanation of how the patch works

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

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

PDT dependency of TAU profiler doesn't use CC, CXX eb variables and needs command line arguments for compiler identification. If we don't pass compiler id then it uses gcc and result in link time errors while building TAU.  This patch fixes it; tested with PGI and Intel compilers.
2017-09-10 13:16:49 -10:00
Pramod S Kumbhar
f5f51118b8 Fix matplotlib build issue with intel compiler (#5321) 2017-09-10 13:15:12 -10:00
Pramod S Kumbhar
b14b02f875 Improve caffe dependency detection with extra CMake flags (#5328)
* Improve caffe dependency detection with extra CMake flags
* lmdb and leveldb fix
2017-09-10 13:14:22 -10:00
Pramod S Kumbhar
e0fa335df0 Paraview requires CMake version 3.3 or higher (#5317) 2017-09-10 10:09:05 +02:00
Pramod S Kumbhar
6ce009a72a Libgpuarray requires CMake 3.0 or higher (#5326) 2017-09-10 10:06:13 +02:00
Pramod S Kumbhar
156dedac6b Fix caffe build issue with python 3 (#5324) 2017-09-09 21:28:39 -10:00
Adam J. Stewart
2eb8db1dd2 Fix name detection in HeaderList and LibraryList (#5118)
* Fix name detection in HeaderList and LibraryList

* Add support for CUDA header files
2017-09-09 22:22:56 +02:00
Matthew Scott Krafczyk
51828dd982 Bootstrap environment-modules
Renames the existing bootstrap command to 'clone'. Repurposes
'spack bootstrap' to install packages that are useful to the
operation of Spack (for now this is just environment-modules).
For bash and ksh users running setup-env.sh, if a Spack-installed
instance of environment-modules is detected and environment modules
and dotkit are not externally available, Spack will define the 
'module' command in the user's shell to use the environment-modules
built by Spack.
2017-09-08 10:15:06 -07:00
Rob Latham
4f57c9651a dump environment in sourceable form (#5301)
First, quote the environment variable values.  Second, export the
variables. sorry, this is bourn-shell syntax.  Happy to consider a
shell-independent way to do this, but spack is already using sh-like
"env=value"
2017-09-07 17:07:03 -10:00
Audrey Thoma
2e0fc39173 mlhka: new package (#5231)
* mlhka: new package
2017-09-07 07:34:34 -10:00
Michael Kuhn
84ae7872d3 Update copyright notices for 2017 (#5295) 2017-09-06 17:44:16 -10:00
Denis Davydov
01a9a048ad elemental: fix hardcode libgfortran, use develop and explicitly specify MPI compilers (#5263) 2017-09-06 12:04:32 +02:00
Massimiliano Culpo
d1a5857a03 Added support for querying by tags (#4786)
* Added support to query packages by tags.
    - The querying commands `spack list`, `spack find` and `spack info` have
      been modified to support querying by tags. Tests have been added to
      check that the feature is working correctly under what should be the
      most frequent use cases.

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

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

* Added a cache file for tags.

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

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

* Fixed colorization of `spack info`
2017-09-05 15:44:42 -10:00
Christoph Junghans
feefdedadf nauty: shared libraries (#5207) 2017-09-05 09:15:08 -10:00
Massimiliano Culpo
41d8981ab5 Fixed bug in spack env due to missing argument. (#5280)
This command broke after #5109. It was using the default value for the
"dirty" argument in `setup_package`. Now it adopts the same logic as
in `spack install`. Changed help for '--clean' and '--dirty'. 
Improved coverage of spack env.
2017-09-05 17:15:25 +02:00
Tom Scogland
6c4918320d add neovim package with deps (#5260)
* add neovim package with deps
2017-09-04 23:34:21 -10:00
Denis Davydov
7f454bbd3d Add davydden as a maintainer to a couple of packages (#5284) 2017-09-05 00:23:56 +02:00
Massimiliano Culpo
dec6b609d8 Updated llvm to version 4.0.1 Fixed indentation of dict literal (#5272) 2017-09-02 07:51:27 -05:00
Andrey Prokopenko
c8df927607 Add maintainer for Trilinos
Add a maintainer for the Trilinos package.
2017-09-01 18:24:10 -07:00
Gilberto Martinez Jr
aedf6c3b87 PR for RAFT tomography package (#5247)
* Adding package RAFT

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

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

Changed hardcoded mpi wrapper names
Changed Package to AutotoolsPackage

* remove extra prefix
2017-09-01 13:14:54 -05:00
scheibelp
5342ecf364 Set default cmake build_type to Release for llvm
Override CMake "build_type" variant to default to "Release" for
llvm package.
2017-09-01 10:32:04 -07:00
zenln
48599837d8 Globalarrays: Adding ENABLE_I8 variant (#5249) 2017-08-31 15:14:50 -10:00
William Scullin
1d6fff1f2d New package: meson build system (#5250)
* Adding a spec for the meson build system
2017-08-31 15:13:52 -10:00
Audrey Thoma
1fff48641f kmergenie: new package (#5257) 2017-08-31 15:01:09 -10:00
Todd Gamblin
1136a7f069 jags: new package (#5256)
Just another Gibbs sampler
2017-08-31 14:58:55 -10:00
Massimiliano Culpo
01eba56e64 Patch directive allows non-archives (#5197)
- Don't expand downloaded patch file if it is not gzipped/tar'd/zipped/etc.
2017-08-31 14:06:03 -10:00
las_thoma15
cc3d8bacd7 adding config args and virtual dependencies 2017-08-31 09:37:24 -05:00
Denis Davydov
bb29ec1843 mpich: fix MPI_Barrier segfault (#5235)
* mpich: fix MPI_Barrier segfault

* one more link
2017-08-30 18:58:23 -05:00
Denis Davydov
b5a9f8ead1 add optional maintainers property to package (#5230)
* add optional package maintainers
2017-08-30 10:56:24 -07:00
Audrey Thoma
de5111cd50 hapcut2: new package (#5238) 2017-08-30 00:57:57 -07:00
Andrey Prokopenko
c830eda0e6 Slightly better error matching when parsing spack logs (#5236) 2017-08-30 00:56:17 -07:00
alalazo
462de9847c Added unit tests for Spec.__init__ exceptional paths 2017-08-29 00:44:43 -07:00
alalazo
bf7b861554 Fixed bug in Spec._dup, updated docstring
The private method `Spec._dup` was missing a line (when setting compiler
flags the parent spec was not set to `self`). This resulted in
an inconsistent state of the duplicated Spec. This problem has been
fixed here. The docstring of `Spec._dup` has been updated.
2017-08-29 00:44:43 -07:00
Todd Gamblin
ee93993b07 Make Spec construction simpler (#5227) 2017-08-29 00:02:25 -07:00
Christoph Junghans
6036a5a113 lammps: install headers (#5226)
* lammps: install headers
* use prefix.include.lammps
2017-08-28 16:33:30 -07:00
Audrey Thoma
56f4f74b72 redundans: new package (#5217)
* redundans: new package

* fixing url for fastaindex and adding dep for pyscaf
2017-08-28 15:25:19 -05:00
Matthew Scott Krafczyk
c94933343a Add --show-full-compiler option to 'spack find'
When 'spack find' is invoked with the '--show-full-compiler' option,
the compiler flags and version are shown for each spec that is found.
2017-08-28 10:35:46 -07:00
Massimiliano Culpo
005b22aa8b Removed default value for 'dirty' function argument. (#5109)
This change is done to avoid inconsistencies during refactoring. The rationale is that functions at different levels in the call stack all define a default for the 'dirty' argument. This PR removes the default value for all the functions except the top-level one (`PackageBase.do_install`).

In this way not defining 'dirty' will result in an error, instead of the default value being used. This will reduce the risk of having an inconsistent behavior after a refactoring.
2017-08-25 20:40:37 -07:00
Michael Kuhn
91143e9db4 Fix copyright years in spack create template (#5203) 2017-08-25 20:38:56 -07:00
Michael Kuhn
92df1492f6 go: Update to 1.9 (#5216) 2017-08-25 20:29:02 -05:00
Michael Kuhn
b94711a54f Improve Ubuntu arch detection (#2649)
Ubuntu uses a YY.{04,10} release scheme, where YY.04 is not necessarily
binary-compatible with YY.10.
2017-08-25 17:30:40 -07:00
Mark C. Miller
c769e99eda Zfp shared libs (#5212) 2017-08-25 15:08:49 -07:00
scheibelp
499617897b Link extra_rpaths from compilers.yaml at build time (#5211) 2017-08-25 11:02:36 -07:00
Gregory Lee
9a1fd166aa patch config.guess for any ppc64le arch (#5215) 2017-08-25 10:55:41 -07:00
Todd Gamblin
313771c734 Improve grammar in build log error message. (#5214)
- "1 error found" instead of "1 errors found"

- don't print any build log context if no errors were found; just refer
  the user to the build log.
2017-08-25 04:07:42 -07:00
Mark C. Miller
a0f39397c1 Add contributors link to Sphinx docs (#5213) 2017-08-25 02:57:44 -07:00
Sergey Kosukhin
fda3249c8b Respect --insecure (-k) flag when fetching list_url. (#5178)
* Respect --insecure when fetching list_url.
* Ensure support for Python 2.6, and that urlopen works for python versions prior 2.7.9 and between 3.0 and 3.4.3.
2017-08-25 02:15:46 -07:00
Denis Davydov
c0d3d33b58 dealii: add nanoflann, sundials and adol-c plus fixes on macOS (#5175)
* expat: fix build on macOS

* nanoflann: add new package

* sundials: fix compilation on macOS with clang+gfortran

* adol-c: add 2.6.3

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

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

For a detailed comparison, see: http://pkgconf.org/features.html
2017-08-24 17:54:14 -07:00
Audrey Thoma
6ff82ff5a3 ray: new package (#5200) 2017-08-24 16:31:21 -07:00
Ben Boeckel
0e7071befe test/gpg: init from the testing key directory
The old testing pattern set an attribute on the parser directly. Now
that there is a parsed flag, use it instead.
2017-08-24 16:17:35 -07:00
Ben Boeckel
f564b2abf7 gpg: add an argument for the import directory
This is hidden because it is only meant for use by the tests.
2017-08-24 16:17:35 -07:00
Sergey Kosukhin
a48b5a627c Make jpeg a virtual dependency. (#5190)
* Make jpeg a virtual dependency.

* Make 'libjpeg-turbo' the default implementation of 'jpeg'.
2017-08-24 10:30:35 +02:00
sknigh
49a9d63be7 Added options to libfabrics (#5191) 2017-08-23 15:47:28 -07:00
Massimiliano Culpo
5d7901b312 Improve Spec literals, add Spec.from_dict() (#5151)
* Simplified Spec.__init__ signature by removing the *dep_like argument.

The `*dep_like` argument of `Spec.__init__` is used only for tests. This
PR removes it from the call signature and introduces an equivalent
fixture to be used in tests.

* Refactored ``spec_from_dict`` to be a static method of ``Spec``

The fixture ``spec_from_dict`` has been refactored to be a static method
of ``Spec``. Test code has been updated accordingly. Added tests for
exceptional paths.

* Renamed argument `unique` to `normal` + added LazySpecCache class

As requested in the review the argument `unique` of `Spec.from_literal`
has been renamed to `normal`. To avoid eager evaluations of
`Spec(spec_like)` expressions a subclass of `collections.defaultdict`
has been introduced.

* Spec object can be keys of the dictionary for a spec literal.

Added back the possibility use a spec directly as a key. This permits
to build DAGs that are partially normalized.
2017-08-23 14:20:40 -07:00
Christoph Junghans
fa1d0a8a4d Add --source option to spack install (#4102)
- -- source will copy source into prefix along with the package.
- added a test for --source, as well
2017-08-23 14:08:52 -07:00
Audrey Thoma
359b21c888 pgdspider: new package (#5186)
* pgdspider: new package

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

Useful for testing since boost tends to break complex software
dependencies quite often. This helps testing it before releases.
2017-08-23 07:31:34 -05:00
healther
15186d4ae8 add test for lua and node patching in sbang (#5169)
* add test for lua and node handling in sbang patching (cf #5086)
2017-08-23 01:05:36 -07:00
Todd Gamblin
40e9171390 Add testing for new build output.
- Update handling of ChildError so that its output is capturable from a
  SpackCommand

- Update cmd/install test to make sure Python and build log output is
  being displayed properly.
2017-08-22 16:14:38 -07:00
Todd Gamblin
f51b541ef8 Make install command reusable within single Spack run
- install and probably other commands were designed to run once, but now
  we can to test them from within Spack with SpackCommand

- cmd/install.py assumed that it could modify do_install in PackageBase
  and leave it that way; this makes the decorator temporary

- package.py didn't properly initialize its stage if the same package had
  been built successfully before (and the stage removed).
  - manage stage lifecycle better and remember when Package needs to
    re-create the stage
2017-08-22 16:14:38 -07:00
Todd Gamblin
fa1faa61c4 SpackCommand uses log_output to capture command output. 2017-08-22 16:14:38 -07:00
Todd Gamblin
4f444c5f58 log_ouptut can take either a filename or a file object 2017-08-22 16:14:38 -07:00
Todd Gamblin
139d5bfa6b Display build output on ProcessError, instead of Python context.
- If a failure comes from an external command and NOT the Python code,
  display errors highlighted with some context.

- Add some rudimentary support for parsing errors out of the build log
  (not very sophisticated yet).

- Build errors in Python code will still display with Python context.
2017-08-22 16:14:38 -07:00
Todd Gamblin
d54110d208 Limit package context to 3 lines and colorize in error output. 2017-08-22 16:14:38 -07:00
Massimiliano Culpo
4600d106e2 Config scopes are now returning OrderedDicts instead of dicts. (#5183)
It seems 8f21332fec introduced a bug
in that normal dictionaries are returned from ConfigScope objects
instead of OrderedDicts. This is fixed here.
2017-08-22 14:20:19 -07:00
Audrey Thoma
79df4db8e5 tcoffee: new package (#5185) 2017-08-22 13:48:23 -05:00
Axel Huebl
61c5b5faa7 Boost: 1.65.0 (#5182)
Adds the latest boost release.
Downloads seem to be pointing to bintray from the official homepage.
2017-08-22 13:46:54 -05:00
Sergey Kosukhin
f52bdeda2a Package 'libaec': no need to specify per version urls. (#5176) 2017-08-22 09:27:03 +02:00
Sergey Kosukhin
e55efdf8ed Updates for package 'cdo'. (#5179)
* Package 'cdo': removed obsolete version 1.6.9.

* Package 'cdo': updated urls.

* Package 'cdo': added version 1.9.0.

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

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

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

* Package 'cdo': variants 'curl' and 'magics' by default.
2017-08-22 08:42:55 +02:00
Matthew Scott Krafczyk
48bf1e276b Add environment variables to path substitution
Update documentation on config file variable substitutions and
add expansion of environment variables in config files.
2017-08-21 18:35:00 -07:00
Audrey Thoma
e0ebf44239 py-pyrad: new package (#5181) 2017-08-21 17:58:05 -05:00
Massimiliano Culpo
581f70ff6f Added custom messages for conflicts directive. fixes #4965 (#5083)
Users can now add an optional custom message to the conflicts directive.
Layout on screen has been changed to improve readability and the long
spec is shown in tree format. Two conflicts in `espresso` have been
modified to showcase the feature.
2017-08-21 09:20:07 -07:00
Axel Huebl
bd8ac0a738 Protobuf: 3.4 (#5177) 2017-08-21 07:29:47 -05:00
Todd Gamblin
10bb681b57 Unbuffer so that output from packages appears when redirecting
- Python I/O would not properly interleave (or appear) with output from
  subcommands.

- Add a flusing wrapper around sys.stdout and sys.stderr when
  redirecting, so that Python output is synchronous with that of
  subcommands.
2017-08-20 16:51:10 -07:00
Todd Gamblin
79045afada Add tests for output redirection. 2017-08-20 16:51:10 -07:00
Todd Gamblin
11196e7b69 Preserve verbosity across installs when 'v' is pressed.
- 'v' toggle was previously only good for the current install.
- subsequent installs needed user to press 'v' again.
- 'v' state is now preserved across dependency installs.
2017-08-20 16:51:10 -07:00
Todd Gamblin
48440766df Fix exit call in SpackError.die()
- Previously we would use `os._exit()` in to avoid Spack error handling
  in the parent process when build processes failed.  This isn't
  necessary anymore since build processes propagate their exceptions to
  the parent process.

- Use `sys.exit` instead of `os._exit`. This has the advantage of
  automatically flushing output streams on quit, so output from child
  processes is not lost when Spack exits.
2017-08-20 16:51:10 -07:00
Todd Gamblin
05cc6c966f Rework output redirection in Spack.
- Simplify interface to log_output. New interface requires only one
  context handler instead of two.  Before:

      with log_output('logfile.txt') as log_redirection:
           with log_redirection:
               # do things ... output will be logged

  After:

      with log_output('logfile.txt'):
          # do things ... output will be logged

  If you also want the output to be echoed to ``stdout``, use the
  `echo` parameter::

      with log_output('logfile.txt', echo=True):
          # do things ... output will be logged and printed out

  And, if you just want to echo *some* stuff from the parent, use
  ``force_echo``:

      with log_output('logfile.txt', echo=False) as logger:
          # do things ... output will be logged

          with logger.force_echo():
              # things here will be echoed *and* logged

  A key difference between this and the previous implementation is that
  *everything* in the context handler is logged.  Previously, things like
  `Executing phase 'configure'` would not be logged, only output to the
  screen, so understanding phases in the build log was difficult.

- The implementation of `log_output()` is different in two major ways:

  1. This implementation avoids race cases by using only one pipe (before
     we had a multiprocessing pipe and a unix pipe).  The logger daemon
     stops naturally when the input stream is closed, which avoids a race
     in the previous implementation where we'd miss some lines of output
     because the parent would shut the daemon down before it was done
     with all output.

  2. Instead of turning output redirection on and off, which prevented
     some things from being logged, this version uses control characters
     in the output stream to enable/disable forced echoing.  We're using
     the time-honored xon and xoff codes, which tell the daemon to echo
     anything between them AND write it to the log.  This is how
     `logger.force_echo()` works.

- Fix places where output could get stuck in buffers by flushing more
  aggressively.  This makes the output printed to the terminal the same
  as that which would be printed through a pipe to `cat` or to a file.
  Previously these could be weirdly different, and some output would be
  missing when redirecting Spack to a file or pipe.

- Simplify input and color handling in both `build_environment.fork()`
  and `llnl.util.tty.log.log_output()`.  Neither requires an input_stream
  parameter anymore; we assume stdin will be forwarded if possible.

- remove `llnl.util.lang.duplicate_stream()` and remove associated
  monkey-patching in tests, as these aren't needed if you just check
  whether stdin is a tty and has a fileno attribute.
2017-08-20 16:51:10 -07:00
Todd Gamblin
e0dd55e090 Make SpackCommand a bit more testable
- add fail_on_error argument
- record exception and return code when the command fails
2017-08-20 16:51:10 -07:00
Todd Gamblin
e77c1a20c5 Fix issue with color formatting regular expression. (#5171)
- Fix issue with color formatting regular expression.
  - _separators regex in spec.py could be constructed such that '^' came
    first in the character matcher, e.g. '[^@#/]'.  This inverts the match
    and causes transient KeyErrors.

  - Fixed to escape all characters in the constructed regex.

  - This bug comes up in Python3 due to its more randomized hash iteration
    order, but it could probably also happen in a Python 2 implementation.

- also clean up variable docstrings in spec.py
2017-08-20 15:34:35 -07:00
Massimiliano Culpo
99fb394ac1 Group Travis CI jobs in stages (#5104)
- This should speed-up Travis CI tests and refers to #5049

- Travis uses build-stages to group tests together
    - The idea is to let fast tests fail first, then move to longer ones.
    - Added external perl to avoid download failure from CPAN and reduce build time
    - Disabling perl-dbi: continues to fail with (504 Gateway Time-out) on Travis

- We now cover all the build systems in tests:
    - Add back `openblas` to Travis as a separate package.
    - Switched `openblas` for `astyle` to build a simpler MakefilePackage.
    - Added 'tut' (WafPackage)
    - Added 'py-setuptools' (PythonPackage)
    - Added 'perl-dbi' (PerlPackage)
    - Added 'build_systems' directory to the ones for which we get a summary
    - Added 'openjpeg' (CMakePackage)
    - Added 'r-rcpp' (RPackage)
    - Added comments to build tests to show the covered build system
2017-08-19 14:52:27 -07:00
Todd Gamblin
bb10bc39ab Make test_inspect_path work on Mac OS X without XCode (#5168)
- Mac OS X Sierra has no /usr/include by default
- Instead of assuming there's an include directory in /usr, mock up a directory that looks like we expect.
2017-08-19 14:48:24 -07:00
健美猫
be0e051870 Add version 1.7.1 for cub. (#5164) 2017-08-19 09:22:19 -05:00
Adam Moody
d80c70538f lbann: add depends_on hwloc (#5165) 2017-08-19 01:00:52 -05:00
Audrey Thoma
fa39afb598 cufflinks: new package (#5158) 2017-08-18 16:02:15 -05:00
Audrey Thoma
3d1c5f679f muscle: fix (#5160) 2017-08-18 16:01:30 -05:00
Kelly (KT) Thompson
c41c5bc9b8 For Tk, also provide a symlink for wishX.X. (#5161)
+ gitk (and possibly other tools) expect to find the Tk executable `wish`, so
  add a symlink with this name that points to the the versioned filename.
+ Example: `wish --> wish8.6`
2017-08-18 16:01:02 -05:00
healther
d6d2dff324 sbang support: add node-js and fix lua
This adds sbang hook support for node-js and fixes the sbang filter
for lua (the character class exclusion was swallowing newlines and
reporting a false positive if lua was mentioned anywhere in the 
file).
2017-08-18 11:57:52 -07:00
healther
6d155833c5 build boost with graph library even when +mpi
Previously, when +graph and +mpi were enabled, the graph library
was replaced with the graph_parallel library. This alters the
logic for +graph+mpi to build both libraries.
2017-08-18 11:19:55 -07:00
Audrey Thoma
9ad8e79332 corset: new package (#5157) 2017-08-18 11:02:58 -05:00
Audrey Thoma
6abe8e7d91 parsimonator: new package (#5143)
* parsimonator: new package

* adding variant conflict
2017-08-18 09:36:35 -05:00
Audrey Thoma
5fb23b21e0 vegas2: new package (#5150)
* vegas2: new package

* small version things
2017-08-18 09:36:18 -05:00
George Hartzell
9af953a4cb Add info for nextflow@v0.25.6 (#5148) 2017-08-18 09:36:02 -05:00
Stephen McDowell
61238baf56 add man-db package and friends (#4844)
* add man-db package and friends

* fix groff, libpipeline, and man-db dependencies

* remove parallel groff altogether, build-only deps
2017-08-18 14:17:25 +02:00
zenln
6d2092e1eb Add a new package for gaussian (#5149)
* Gaussian: Gaussian install

* Adding Patch to spack installed files

* Adding extra environment variables for gaussian at run time

* Adding provides linda

* Adding linda as a provided package

* Shortning vars and fixing flake8 indentation and spacings
2017-08-17 18:33:44 -05:00
Audrey Thoma
cf796ed595 pagit: new package (#5140)
* pagit: new package

* removed unneeded env var
2017-08-17 15:32:30 -05:00
Audrey Thoma
94af7ccb77 new package libfabric (#5146)
* pbmpi: new package

* forgot about libfabric
2017-08-17 15:31:31 -05:00
Audrey Thoma
cb4ede001c pbmpi: new package (#5144) 2017-08-17 11:59:02 -05:00
Axel Huebl
6472c39c2e Docs: Travis-CI Workflow (#5133)
* Docs: Travis-CI Workflow

Add a workflow how to use spack on Travis-CI.

Future Work:

depending if and how we can simplify 5101:
add a multi-compiler, multi-C++-standard, multi-software
build matrix example

* Fix Typos
2017-08-17 11:25:40 -05:00
Audrey Thoma
46d8cb8913 paml: new package (#5142) 2017-08-17 11:21:56 -05:00
Massimiliano Culpo
0f5582cefc Colorize spack info. Adds prominence to preferred version. (#4994)
* Colorize spack info. Adds prominence to preferred version. fixes #2708

This uses 'llnl.util.tty.color' to colorize the output of 'spack info'.
It also displays versions in the order the concretizer would choose
them and shows the preferred in a line on its own and in bold.

* Modified output according to Adam and Denis reviews.

Section titles are not bold + black, but bold + blue. Added a new
section named "Preferred version", which prints the preferred version
in bold characters.

* Further modifications according to Adam and Denis reviews.

After "Homepage:" we now have a single space. Removed newline after each
variant. Preferred version is not in bold fonts anymore. Added a simple
test that just runs the command.
2017-08-17 09:15:57 -07:00
Audrey Thoma
aa21590099 microbiomeutil: new package (#5134)
* microbiomeutil: new package

* got rid of unnecessary self

* oops
2017-08-17 09:19:00 -05:00
Adam J. Stewart
187f4420e2 Add new package for rhash, a cmake dependency (#5120)
* Add new package for rhash, a cmake dependency

* Add missing libuv dependency to cmake
2017-08-17 08:17:45 -05:00
Audrey Thoma
3bb7767839 py-faststructure: new package (#5131) 2017-08-17 07:49:57 -05:00
healther
d65d1269b9 add libiconv dependency to libxslt (#5138)
this is a fix to an installation that failed due to
configure for some reason not finding the libiconv
shipped with glibc, but still trying to link against it
see http://xmlsoft.org/FAQ.html
2017-08-17 07:18:02 -05:00
Massimiliano Culpo
101693d823 Improved error message for unsatisfiable specs (#5113)
* Improved error message for unsatisfiable specs. fixes #5066

This PR improves the error message for unsatisfiable specs by showing in tree format both the spec that cannot satisfy the constraint and the spec that asked for that constraint. After that follows a readable error message.
2017-08-17 08:26:04 +02:00
Massimiliano Culpo
c16a68f517 Relaxed constraints on config.yaml structure (#5115)
This PR allows additional unused properties at the top-level of the config.yaml file. Having these properties permits to use two different versions of Spack, one of which adds a new property, without receiving error messages due to the presence of this new property in a configuration cache stored in the user's home.
2017-08-17 06:37:09 +02:00
Patrick Gartung
1c8bdd7e24 buildcache fixes: index.html & unsigned installs
This fixes a syntax error in the index.html file generated by the
"spack buildcache" command when creating build caches. This also
fixes support for installing unsigned binaries.
2017-08-16 19:03:14 -07:00
sknigh
dd790fdaae add missing dependencies to elfutils (#5135) 2017-08-16 20:46:12 -05:00
Audrey Thoma
4c32b0ad56 tppred: new package (#5091)
* tppred: new package

* fixed url_for_version

* fixed version spec on dependency

* removing unneeded dependency
2017-08-16 17:48:50 -07:00
Audrey Thoma
d423f85fed dialign-tx: new package (#5126)
* dialign-tx: new package

* utilizing build_directory variable

* forgot one
2017-08-16 17:36:29 -07:00
Audrey Thoma
3a55d45497 discovar: new package (#5129) 2017-08-16 17:35:04 -07:00
Audrey Thoma
6a2cfedc7a gapcloser: new package (#5130) 2017-08-16 17:34:43 -07:00
Adam J. Stewart
af02774b3e Add tab completion & update docs for buildcache
This adds tab completion and fixes some formatting issues in the
documentation for the "spack buildcache" command.
2017-08-16 13:58:09 -07:00
Audrey Thoma
dc3526c7f1 py-misopy: new package (#5119)
* py-misopy: new package

* waiting for link to be fixed

* got correct url and checksum

* specifying dependency version requirements
2017-08-16 14:53:43 -05:00
healther
b547e6a273 Add package rtags (#5111)
* Add package rtags

* fixed license

* transform to cmakepackage and add dependencies

* add dependencies and patch for rtags

* flake8 fix

* clean up dependencies
2017-08-16 13:14:54 -05:00
Cesare Cugnasco
ffaa0b7eee Adding Thrift versions 0.10.0 and 0.9.3 (#5117)
* Adding Thrift version 0.10.0 and 0.9.3

Hi, I've added the versions 0.10.0 and 0.9.3

* fixed  flake8 errors
2017-08-16 13:14:37 -05:00
Audrey Thoma
b12fd4e831 phylip: new package (#5121) 2017-08-16 13:13:38 -05:00
Audrey Thoma
7aa81afa68 preseq: new package (#5122) 2017-08-16 13:13:18 -05:00
Adam J. Stewart
11b3ce27b7 Add better generator support to CMakePackage (#4988)
* Add better generator support to CMakePackage

* List valid CMake generators on error
2017-08-16 12:25:37 -05:00
Adam J. Stewart
db657d938d Refactor IntelInstaller into IntelPackage base class (#4300)
* Refactor IntelInstaller into IntelPackage base class

* Move license attributes from __init__ to class-level

* Flake8 fixes: remove unused imports

* Fix logic that writes the silent.cfg file

* More specific version numbers for Intel MPI

* Rework logic that selects components to install

* Final changes necessary to get intel package working

* Various updates to intel-parallel-studio

* Add latest version of every Intel package

* Add environment variables for Intel packages

* Update env vars for intel package

* Finalize components for intel-parallel-studio package

Adds a +tbb variant to intel-parallel-studio.
The tbb package was renamed to intel-tbb.
Now both intel-tbb and intel-parallel-studio+tbb
provide tbb.

* Overhaul environment variables set by intel-parallel-studio

* Point dependent packages to the correct MPI wrappers

* Never default to intel-parallel-studio

* Gather env vars by sourcing setup scripts

* Use mpiicc instead of mpicc when using Intel compiler

* Undo change to ARCH

* Add changes from intel-mpi to intel-parallel-studio

* Add comment explaining mpicc vs mpiicc

* Prepend env vars containing 'PATH' or separators

* Flake8 fix

* Fix bugs in from_sourcing_file

* Indentation fix

* Prepend, not set if contains separator

* Fix license symlinking broken by changes to intel-parallel-studio

* Use comments instead of docstrings to document attributes

* Flake8 fixes

* Use a set instead of a list to prevent duplicate components

* Fix MKL and MPI library linking directories

* Remove +all variant from intel-parallel-studio

* It is not possible to build with MKL, GCC, and OpenMP at this time

* Found a workaround for locating GCC libraries

* Typos and variable names

* Fix initialization of empty LibraryList
2017-08-16 12:21:07 -05:00
Audrey Thoma
ad8c60239f mpiblast: new package (#5106) 2017-08-16 10:48:39 -05:00
Michael Kuhn
3a0e9f29e6 scorep: Fix build with GCC 7 (#5107) 2017-08-16 10:48:20 -05:00
Michael Kuhn
95915b81d0 otf2: Add 2.1 (#5108) 2017-08-16 10:48:02 -05:00
Adam J. Stewart
2f9b0f6dd6 Fix future import in hdf5-blosc (#5010) 2017-08-16 10:34:52 -05:00
healther
f6a452d3ad Add package rr (#5105)
* Add package rr

* Flake8 fixes

* fix flake8 no2

* add future dependency stub, add hw dependency and clean up

* add missing self
2017-08-16 10:29:02 -05:00
healther
dbdf38f617 Add package PyPytestXdist and dependencies (#5095)
* Add py-pytest-xdist

* fixed licenses

* attempt to fix flake8

* added missing build dependency
2017-08-16 10:26:39 -05:00
healther
480764de5c Add package py-pybind11 (#5096)
* py-pybind11 package was missing

* fixed license file

* attempt to fix flake8

* use python3 compatible python detection
2017-08-16 08:29:54 -05:00
Audrey Thoma
619e298b8d cdhit: new package (#5085) 2017-08-16 07:05:16 +02:00
Gregory Lee
450b19b6e0 fix reference to spec in apex package (#5076)
* fix reference to spec in apex package

* fixed md5 sums for ompt-openmp and apex packages
2017-08-15 17:17:02 -05:00
Brian Van Essen
7b51791625 Openblas clang fix (#5065)
* Added a package for the MDAnalysis toolkit.

* Openblas now builds with clang when using 0.2.20

* Fixed flake8 error

* Added a guard to fail for openblas+openmp when on OSX systems

* Changed the guard to look for Apple's build of clang and to improve
the error messages.

* Removed blank line.
2017-08-15 16:57:11 -05:00
healther
8df9f9e1f4 Fix ffmpeg (add missing yasm dependency) (#5087) 2017-08-15 16:54:39 -05:00
Michael Kuhn
256cd68b27 nco: Add patch to fix invalid conversion from char to char* (#5102)
This patch is needed to be able to build nco with GCC 7.
2017-08-15 16:53:22 -05:00
Michael Kuhn
8d4dec7430 ncview: Fix download URL (#5103) 2017-08-15 16:52:34 -05:00
healther
b52e549758 add version 0.2.10 to py-lazyarray (#5093) 2017-08-15 12:15:00 +02:00
Michael Kuhn
43a634ca80 gcc: Add 7.2.0 (#5098) 2017-08-15 12:14:07 +02:00
Mark C. Miller
5712fbfeb0 Use correct variant syntax to build zfp (#5099)
`h5z-zfp` now  builds zfp with correct bit stream word size; the syntax of the variant declaration did not work in previous versions of spack but does now
2017-08-15 12:10:09 +02:00
healther
b229b739de add older versions to package folly (#5088) 2017-08-15 12:01:33 +02:00
Patrick Gartung
ab56c742ca Create, install and relocate tarballs of installed packages
Adds the "buildcache" command to spack. The buildcache command is
used to create gpg signatures for archives of installed spack
packages; the signatures and archives are placed together in a
directory that can be added to a spack mirror. A user can retrieve
the archives from a mirror and verify their integrity using the
buildcache command. It is often the case that the user's Spack
instance is located in a different path compared to the Spack
instance used to generate the package archive and signature, so
this includes logic to relocate the RPATHs generated by Spack.
2017-08-14 14:32:27 -07:00
Massimiliano Culpo
5184edb15f Added a custom action for --clean and --dirty. (#5081)
The action `CleanOrDirtyAction` has been added. It sets the default
value for `dest` to `spack.dirty`, and changes it according to the flags
passed via command line. Added unit tests to check that the arguments
are parsed correctly. Removed lines in `PackageBase` that were setting
the default value of dirty according to what was in the configuration.
2017-08-14 11:29:18 -07:00
scheibelp
4d9ef49b49 Decode process stream only for python3
Popen.communicate outputs a str object for python2 and a bytes
object for python3. This updates the Executable.__call__ function
to call .decode on the output of Popen.communicate only for python3.
This ensures that Executable.__call__ returns a str for python2 and
python3.
2017-08-14 11:23:03 -07:00
Brian Van Essen
3cce3e3ce4 Opencv update (#5079)
* Added a package for the MDAnalysis toolkit.

* Added version 3.3.0
2017-08-11 23:46:39 -05:00
Massimiliano Culpo
41c87a71a8 patch: get correct package directory for a given package
fixes #4236
fixes #5002

When a package is defined in more than one repository,
RepoPath.dirname_for_package_name may return the path
to either definition. This sidesteps that ambiguity by 
accessing the module associated with the package definition.
2017-08-11 19:18:52 -07:00
snehring
64a32ea1f9 adding falcon (#5057)
* py-networkx: adding older version py-networkx

* py-pypeflow: new package

* falcon: adding new package
pacbio-daligner: adding new package
pacbio-damasker: adding new package
pacbio-dazz-db: adding new package
pacbio-dextractor: adding new package

* py-networkx: modifying version order to be in line with convention

* falcon: tweaking py-networkx dependency to satisfy setuptools
py-pypeflow: adding missing dependency

* pacbio-dextractor: changing hdf5 dependency

* pacbio-daligner: adding gmake build dep
pacbio-damasker: adding gmake build dep
pacbio-dazz-db: adding gmake build dep
pacbio-dextractor: adding gmake build dep
2017-08-11 17:26:20 -05:00
Audrey Thoma
9e7917f7d3 mpest: new package (#5064)
* mpest: new package

* adding architecture env var and making more version-flexible

* fixing environment

* fixed build directory

* getting rid of duplicated code
2017-08-11 17:25:26 -05:00
Gregory Lee
14076c52f1 packages need to reference self.spec instead of spec (#5075) 2017-08-11 17:24:40 -05:00
Audrey Thoma
056faad3a2 signalp: new package (#5054)
* signalp: new package

* fixed homepage

* fixed url and phases

* refixed phase

* improved readability

* making path in execuatble adaptable to new versions
2017-08-11 13:54:12 -05:00
Audrey Thoma
d16f823f9d sspace-standard: new pacakge (#5071)
* sspace-standard: new pacakge

* fixing install versioning

* fixing description
2017-08-11 13:51:27 -05:00
Audrey Thoma
a030c858dd sspace-longread: new package (#5072)
* sspace-longread: new package

* fixing description

* fixing order
2017-08-11 13:51:08 -05:00
Audrey Thoma
295cdc5674 gapfiller: new package (#5073) 2017-08-11 13:50:08 -05:00
Mark C. Miller
39cb589510 More variants for MFEM (#4533)
* fixes #967

* Version bump to 0.9.1

- Bugfixes for spack find
- 0.9.1 can read specs from current develop.

* Don't assume spack is in the path when building docs.

* adding mfem variants; do not assume build defaults

* adjusting format to clarify options

* fixing some build issues

* fixing mfem+sundials

* removing mesquite variant...turns out it is obsolete

* adding examples to mfem; fixing sundials darwin installs

* adding some additional variants and setting some configure flags by fiat

* switching most check_variants logic to conflicts() directives

* adding comment about cmake config

* fixing flake8 issues; thought I had already done that

* moving func def into install method

* switch yes_no to no_yes; fix miss-spelling of miniapps

* switching make target all to lib

* changing yes_no to function as requested; fix problem with same in sundials

* fix missing import sys directive

* adding master and develop versions to amrex
2017-08-11 08:39:48 -05:00
Brian Van Essen
71c5b19464 Elemental fix (#5067)
* Added a package for the MDAnalysis toolkit.

* Added additional packages that Elemental depends on.

* Changed LBANN to not ask for the scalapack variant in Elemental.

* Removed variant control on scalapack
2017-08-11 08:29:24 -05:00
EmreAtes
038efc623d New package: qbox (#4711)
* New package: qbox

* API changes

* Use install instead of shutil for comd

* Use any BLAS library

* Fix typo

* Python2 fix

* python2 + fix backslashes

* Modified to respond to ld_flags correctly

* Modified to use ld_flags

* Add ld_flags support
2017-08-10 20:12:08 -05:00
Akhil Reddy Patlolla
e3a4631037 Add AMG2013 package (#4836)
*  Updated Changes

*  Updated AMG with required MPI

*  Updated AMG with Version ' changes'

*  Fixed Issues with flag's and variant checks

*  Updated with MPI Alone and Changes - NO Serial Variant

*  Updated with MPI Alone and Changes - NO Serial Variant

* Fixed Flake 8 line length error

*  Updated Spack Issues
2017-08-10 20:09:59 -05:00
Akhil Reddy Patlolla
e4c22efc85 Variants Serial MPI openmp (#4897)
*  Variants Serial MPI openmp

*  Fixed Flake8 Issue  and remove Patch File

*  Fixed issues with openmp Flag

*  Edited Required Changes

* Fixed issues with flake8 and Added Conditional GCC Flags

* Fixed Flake 8 Issue

*  Fixed flag's issue with non GCC Compiler

*  Fixed condition and spacing issues
2017-08-10 20:08:56 -05:00
Audrey Thoma
2f29e9c18e braker & genemark-et: new packages (#5058)
* braker & genemark-et: new packages

* fixing install
2017-08-10 20:04:37 -05:00
Audrey Thoma
637f72a8fe fimpute: new package (#5060) 2017-08-10 20:04:10 -05:00
Audrey Thoma
967370aa0b impute2: new package (#5062) 2017-08-10 20:03:52 -05:00
Audrey Thoma
518993431d mothur: new package (#5055)
* mothur: new package

* fixing mpi things
2017-08-10 18:09:40 -05:00
Jim Galarowicz
df3bc3906d Update Krell products: Add new OpenSpeedShop gui package based on qt4/qt5 gui toolkit. (#5056)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.

* Add new OpenSpeedShop gui package based on qt4/qt5 gui toolkit.

* Fix flake8 errors.

* Fix flake8 errors.
2017-08-10 18:08:32 -05:00
Audrey Thoma
81a1d7b72b gblocks: new package (#5061) 2017-08-10 17:56:20 -05:00
Audrey Thoma
ee66c3a7aa kallisto: new package (#5063) 2017-08-10 17:54:29 -05:00
Audrey Thoma
e99834df6a fastphase: new package (#5059) 2017-08-10 17:51:46 -05:00
Michael Kuhn
887e4724c2 go: Fix cgo (#5052) 2017-08-10 09:42:02 -07:00
George Hartzell
c6cd447a8a Add version 2.19.1.403 to bcl2fastq2 package (#5047)
* Update bcl2fastq2 with info for 2.19.1.403

Heads up, the download location changed (domain name AND protocol).

* Flake8 fix

What's one space between friends?
2017-08-09 22:17:34 -05:00
Audrey Thoma
5bb86ce964 soapindel: new package (#5048)
* soapindel: new package

* fixed versioning
2017-08-09 21:39:06 -05:00
Jon Rood
58cdd46ebd Adding lower bound to pnetcdf conflict in Trilinos (#5039)
* Adding lower bound to pnetcdf conflict in Trilinos to allow for use of develop and master branch.

* Using even lower bound for pnetcdf conflict in Trilinos.
2017-08-09 18:50:28 -05:00
Audrey Thoma
869d40648f soap2: new package (#5045) 2017-08-09 18:50:11 -05:00
Audrey Thoma
3edf36b0a4 haploview: new package (#5036) 2017-08-09 17:03:14 -05:00
Audrey Thoma
7ca5e4f734 soapsnp: new package (#5046) 2017-08-09 17:00:59 -05:00
Brian Van Essen
28b0421eb1 Opencv fix (#5040)
* Added a package for the MDAnalysis toolkit.

* Changed cmake_options to args to be consistent with the rest of the
file and fix a cmake error about undefined errors.  Additionally,
added guards for both png and zlib to not include their cmake options
when those variants are not specified.
2017-08-09 15:40:10 -05:00
Audrey Thoma
0137f17306 shapeit: new package (#5042)
* shapeit: new package

* fixing versioning
2017-08-09 15:39:37 -05:00
Audrey Thoma
1f578c5777 pipits: new package (#5041)
* pipits: new package and dependencies

* fixing rdp-classifier java dep

* adding resources to pipits and fixing deps for py-biom-format
2017-08-09 15:04:21 -05:00
becker33
79f9548a9a bugfix for module_cmd (#5038)
* bugfix for modulecmd when bash is symlinked to sh

* update test to make sure module_cmd can interpret sh
2017-08-09 12:14:35 -07:00
Massimiliano Culpo
faeb1b77b2 Merged 'purge' command with 'clean' and deleted 'purge' (#4970)
* Merged 'purge' command with 'clean'. Deleted 'purge'. fixes #2942

'spack purge' has been merged with 'spack clean'. Documentation has been
updated accordingly. The 'clean' and 'purge' behavior are not mutually
exclusive, and they log brief information to tty while they go.

* Fixed a wrong reference to spack clean in the docs

* Added tests for 'spack clean'. Updated bash completion.
2017-08-09 10:02:38 -07:00
pkondamudi
9e8cce41e3 OpenMC parallel build fix. (#5037) 2017-08-09 11:11:09 -05:00
Denis Davydov
db4776fcd5 alglib: add new package (#5035) 2017-08-09 09:10:25 -07:00
Sergey Kosukhin
e463461ed1 Bugfixes for compiler detection on the Cray platform. (#3075)
* Typo fixes in docstrings.

* Let OS classes know if the paths they get were explicitly specified by user.

* Fixed regexp for cray compiler version matching.

* Replaced LinuxDistro with CrayFrontend for the Cray platform's frontend.
2017-08-09 09:00:34 -07:00
Massimiliano Culpo
d6fc2363af slurm: added initial recipe (#4802)
* slurm: added initial recipe

* Modified variants following Adam comment.

The MV variant 'features' has been turned into a set of BV variants. The
dependency on 'readline' has been made optional.
2017-08-09 08:13:33 -05:00
Brian Homerding
a33f52cfb0 Fixed minor issues from Cmake conversion (#5024) 2017-08-08 23:47:34 -05:00
jiseung
a66fb012da Packages/cns nospec (#5023)
* new package: cns-nospec

* made changes as suggested and added proxy-app tag

* updated edit()

* adjusted logic for '+debug'

* install readme and license

* install readme and license

* install readme and license; fix mpi version build issues

* fix build issues for ~mpi

* pep8 compliant
2017-08-08 20:25:00 -05:00
Audrey Thoma
3506f2674c xplor-nih: new package (#5030) 2017-08-08 20:24:42 -05:00
Axel Huebl
dfb34da689 Adios2: ZeroMQ (#5031)
During my last rebase the zeromq core dependency got missing.
Currently it's needed for all dataman WAN transports.
2017-08-08 20:24:27 -05:00
Audrey Thoma
1a3021d22c rtax: new package (#5025)
* rtax: new package

* fixing usearch version flexibility
2017-08-08 16:29:20 -07:00
jiseung
f6a9c7d79c Packages/amr exp parabolic (#5027)
* new package: amr-exp-parabolic

* removed boilerplate and added tag

* install license and readme

* fix mpi build issues

* change access to include/lib directories and pep8 compliant now
2017-08-08 17:25:27 -05:00
Audrey Thoma
7f4d94667c vmatch: new package (#5028)
* vmatch: new package

* adding url_for_version
2017-08-08 17:24:56 -05:00
Audrey Thoma
6323234135 astral: new package (#5022)
* astral: new package

* simplifying join_path

* adding build phase and changing jdk to java

* forgot to change jdk to java....
2017-08-08 16:35:19 -05:00
Audrey Thoma
f82fb75aae varscan: new package (#5026)
* varscan: new package

* changing jdk to java
2017-08-08 15:54:29 -05:00
Alen Kansakar
c1f3ed6f67 Removing blanks. 2017-08-08 14:21:08 -05:00
Adam J. Stewart
97958d8347 Add latest version of Ninja (#4987)
* Add latest version of Ninja

* Re-add symlinks, add latest version of ninja-fortran
2017-08-08 11:33:24 -07:00
Jim Galarowicz
48f0e9592e Krell spack updates: Add Argo Navis/Krell new gui support library (#4964)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.

* Fix issues with the cbtf-argonavis build, update to use dyninst-9.3.2, fixes to openspeedshop package build.

* Fix issues with the cbtf-argonavis package.py files related to comments.

* Add changes for changing the krell packages from Package to CMakePackage.

* Add better changes for changing the krell packages from Package to CMakePackage.

* Add more modifications for changing the krell packages from Package to CMakePackage.

* Add additional modifications for changing the krell packages from Package to CMakePackage and fixing Travis erros

* Fix new travis errors.

* Fix new travis errors.

* Add more changes for PR 4765.

* Add more refinements to the conversion from Package to CMakePackage.

* Fix new travis errors.

* Add dependencies for MPI to be passed to cbtf-krell, so it can build the MPI collectors requested by the builder of openspeedshop.

* Remove extra unnecessary routine to adjust build arguments. Fix if-else clause issue.

* Fix more flake issues caused by last changes.

* Fix a bug where openspeedshop will not build when no mpi variants are specified.  Also switch to a multiple level variant for building the gui(s).  Use none, qt3, and qt4 as the variants with qt3 being the default.

* Add fix for spack issue #4843, where LTDL include files were not found.

* Add the build_type variant back into the openspeedshop package file.

* Add new package for the Argo Navis/Krell new graphical user support library: QtGraph.

* Revert "Add new package for the Argo Navis/Krell new graphical user support library: QtGraph."

This reverts commit f8883de446.

* Add new package for the Argo Navis/Krell new graphical user support library: qtgraph.

* Fix flake8 errors.

* Fix flake8 errors.

* Fix flake8 errors.

* Fix flake8 errors.

* Fix flake8 errors.

* Add changes to support QMakePackage class instead of Package class for qtgraph.

* Update change for suggested reviewer improvements.

* Fix flake8 errors.

* Fix flake8 errors.
2017-08-08 10:23:04 -05:00
jiseung
6196b7f9dd New package: VPFFT (#4995)
* new package: VPFFT

* install readme and license

* misc

* changed version name to 'develop'

* removed the misplaced package file

* updated eigen path, fixed docstring, and updated 'docs' installation method

* pep8 compliant, changed installation of docs
2017-08-08 10:20:40 -05:00
Axel Huebl
6e721bab6a IceT: Ill-Place CMake Modules (#5014)
IceT places its CMake module in the wrong directory,
which is not included in the default CMake search paths.

This fixes it for *directly* depending packages without the
need to add
```yaml
    icet:
      environment:
        prepend_path:
          CMAKE_PREFIX_PATH: '${PREFIX}/lib'
```

to the `modules.yaml` as a workaround.
2017-08-08 09:14:40 -05:00
Pramod S Kumbhar
f74eaa874a Add new version of dyninst package (#5017) 2017-08-08 12:08:51 +02:00
Adam J. Stewart
2853a28b2a Add latest version of gmake (#5013) 2017-08-07 18:45:07 -05:00
zenln
33cb093870 Add a new package for molcas (#5008)
* Molcas 8.2: Adding molcas spec file

* Molcas 8.2: Putting in patch file for molcas driver not to be installed in spack stage directory

* Molcas making changes

* Making changes in ordering
2017-08-07 17:41:51 -05:00
Axel Huebl
323d2d9aed CMake: 3.9.0 (#5009)
Add new versions:

- 3.8.2
- 3.9.0
2017-08-07 17:41:34 -05:00
Pramod S Kumbhar
a0d3a35afc Fix typo : spec to self.spec (#5011) 2017-08-07 17:35:03 -05:00
Pramod S Kumbhar
a5b76d24cf Update openspeedshop and cbtf-krell to use latest binutils version (fix #4992) (#4997) 2017-08-07 17:03:51 -05:00
Pramod S Kumbhar
f4dd905447 Fix build error with mpiP: (#5006)
change dependency types to default (build/link)
    and provide mpi compiler as cc (fix #5005)
2017-08-07 16:38:53 -05:00
Audrey Thoma
825c3c68a3 transabyss: new package (#4892)
* transabyss: new package and dependencies

* fixed build deps in igraph and version conflict spec in abyss

* fixed versioning stuff and package structure

*  fixed dep type

* fixing dep type for real this time
2017-08-07 15:42:49 -05:00
Pramod S Kumbhar
82463f1fd6 Fix Scalasca build error: (#5004)
Build system "usually" autodetects mpi library but this is
    not the case on many platforms. Provide mpi library name/version
    as part for configure args.
2017-08-07 14:56:47 -05:00
Kshitij Mehta
f2871c7529 savanna depends on adios+sz (#4954)
* savanna: explicitly adding variant sz to adios since it is no longer enabled by default in adios

* savanna: removing +sz from adios as sz is now enabled in adios by default

* savanna: explicitly specifying adios variants required by savanna
2017-08-07 14:37:26 -05:00
Kshitij Mehta
13cd98ac4a Adios (#4857)
* adios: conform to pep8

* adios: added versions 1.11.0 and 1.12.0

* adios: added variant no_mpi to explicitly disable mpi support

* adios: add new variant mxml

adios v1.12.0 onwards contains an xml library built within.
To build with an external mxml, a new variant must be used

* adios: new variant for sz transform

* adios: flexpath and dataspaces staging variants

Two new variants for staging: flexpath and dataspaces.
New variant 'staging' that will enable both

* adios: dependency on libtool:2.4.2 since adios does not build with newer libtool 2.4.6

* adios: better description for variant no-mpi

* adios: new variant for netcdf

as requested by @mamelara from LBL

* adios: renamed variant 'no_mpi' to 'serial'

* adios: removed variant mxml

* adios: corrected implementation of the mpi dependency, along with its relation with the 'serial' variant

Added conflicts between 'serial' and other variants

* adios: added 'else' clause when variants are not added

* adios: replaced variant 'serial' with 'mpi'

* adios: Added configure option to explicitly disable variants that are not enabled.

* adios: setting default zfp to true

* adios: fixed flake8 errors

* adios: removed some old comments

* adios: setting default sz to False.

It is recommended to set default to False when dependency is on develop (sz@develop).

* adios: removing dependency on develop for sz and setting default sz to true

* adios: updated url to latest release.

Just keeping it clean
2017-08-07 14:36:16 -05:00
Kshitij Mehta
a5e44504b0 Sz (#5003)
* sz: update to v1.4.9.2

* sz: fixed incorrect url
2017-08-07 14:34:33 -05:00
jiseung
629b17b36f Packages/snap (#5000)
* new package:SNAP

* removed boilerplate

* Delete .nfs00000000003a8b1700001358

* install another executable in bin and install readme

* added quotes around README.md

* moved readme to prefix
2017-08-07 14:34:06 -05:00
Brian Van Essen
8ca7c77008 Elemental cublas (#4889)
* Added a package for the MDAnalysis toolkit.

* Added a patch that allows Elemental to use cuBLAS internally.

* Added support for LBANN to use the new cuBLAS extension in Elemental.

* Added a proper variant for when LBANN does not want to use cuBLAS in
elemental.

* Added a package for the cnpy project and used it in the lbann package.

* Removed unnecessary comment lines.

* Removed blank lines

* Removed debug variant

* Add support for libjpeg-turbo

* Added additional variants for OpenCV features. Fixed bug when linking
in TIFF support, where libtiff used the regular JPEG library and
OpenCV used libjpeg-turbo.  Now libtiff can use libjpeg-turbo.

* Removed the variant for getting Elemental to use the cublas variant.
Updated the requirements for OpenCV to add new options.

* Fixed a flake8 error in OpenCV and added a path to find cnpy in lbann.

* Fixed line too long flake8 error.

* Added a flag to specify the datatype size in lbann and fixed a flake8 error.

* Added a debug build variant using hte new build_type

* Fixed flake8

* Fixed how the debug build is pushed to Elemental

* Fixed a bug in the Elemental package where the blas search flags were
being overridden by the blas link flags.  Changed how the sequential
initialization variant is implemented in LBANN.

* Added support via a variant to explicitly use mkl or openblas.  This
helps work around variant forwarding problems.

* Updated package files to address pull request comments.
2017-08-07 13:41:13 -05:00
jiseung
755081968f Packages/cns nospec (#4998)
* new package: cns-nospec

* made changes as suggested and added proxy-app tag

* updated edit()

* adjusted logic for '+debug'

* install readme and license

* install readme and license
2017-08-07 13:38:17 -05:00
Pramod S Kumbhar
8cbc7eeae4 Build Cube pckage with parallel make (only install phase serial) (#5001) 2017-08-07 13:32:09 -05:00
jiseung
cf2a96a3f5 Packages/smc (#4999)
* new package: SMC

* removed template and added proxy-app tag

* added comp variant in edit()

* edited comp variant in edit()

* move executable and input file into bin and install readme and license
2017-08-07 12:59:12 -05:00
scheibelp
5a94cee216 Variant satisfaction for indirect dependencies
Fixes #4898

Constraints that were supposed to be conditionally activated for
specified values of a single-valued variant were being activated
unconditionally in the case that the variant was associated with
an implicit dependency. For example if X->Y->Z and Y places a
conditional constraint on Z for a given single-valued variant on
Y, then it would have been applied unconditionally when
concretizing X.
2017-08-07 10:48:48 -07:00
Adam J. Stewart
392603e90b Make GCC binutils variant default to False (#4973) 2017-08-07 10:13:31 -07:00
Audrey Thoma
c53b1b9ad1 rsem: new package (#4991) 2017-08-07 10:04:20 -07:00
Audrey Thoma
45c227c1a3 vsearch: new package (#4993) 2017-08-07 10:02:54 -07:00
Audrey Thoma
c0e2204908 velvet: new package (#4996) 2017-08-07 10:01:50 -07:00
George Hartzell
0bd55cb8ce Limit make_jobs for boost < 1.59 (#4984)
Earlier versions of boost had a fixed maximum number of jobs.  1.54
was 64, it bumped once or twice afterwards and in 1.59 [this
commit][commit] it became dynamic.

I need 1.54 for as a prereq for bcl2fastq but I can't build 1.54 on my
144 core build box.

This fixes that.

[commit]: 316e26ca71
2017-08-06 15:23:13 -05:00
Adam J. Stewart
afc4f9c3c2 Download from pypi.io, not pypi.python.org (#4981) 2017-08-06 11:45:00 -05:00
Adam J. Stewart
0acee2f4b1 Add a new package for fastjar (#4983) 2017-08-05 16:05:12 -05:00
snehring
db74f4c3a1 Add a new package for IcedTea (#4804)
* alsa-lib: new package

* cups: new package

* icedtea: new package

* icedtea: adding JAVA_HOME variable

* alsa: removing placeholder

* icedtea: typo fix

* alsa: fixing formattting

* icedtea: formatting fixes and cleanup

* icedtea: additional cleanup

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

* icedtea: adding jdk as a dependency

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

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

* fastqc: fixing flake8 error

* bazel: fixing typo in java dependency

* jdk: changing provides java to a range

* icedtea: cleaning up. Splitting up checksums.

* icedtea: jdk dependency is build only
2017-08-05 14:53:09 -05:00
George Hartzell
ab0ea3cec4 Fix libbsd's cdefs.h to be compatible with gcc 4.8.x (#4979)
* Fix cdefs macro to be compatible with gcc 4.8.x

See the discussion in #4945 (after the merge) for additional
background.

libbsd builds with gcc@5.4.0 on CentOS 7, but not with the system's
gcc@4.8.5.  Others have reported problems with gcc@4.8.3 on Fedora 19.

The problem boils down to the lack of support for the clang extension
`__has_include_next`.  The immediate symptom seems to be the
pre-processor using defining macro like this

```
```

then then tripping over an expansion of it like this:

```
blah.h:13:23: error: missing binary operator before token "("
```

This patch changes the macro definition to:

```
```

which swallows the arguments with which the macro is invoked.

The end result is that libbsd builds for me on CentOS 7 using the
system compiler.

* Apply this patch for any compiler version before 5

This includes subversions of 4, like 4.8.5.
2017-08-05 13:33:24 -05:00
Mark Olesen
9f6c9d8afa Version: dev -> develop (for openfoam-org) (#4974) 2017-08-05 13:33:07 -05:00
Abhinav Bhatele
0117e1b76b add proxy-app tag to the lulesh package (#4951) 2017-08-05 13:32:40 -05:00
Adam J. Stewart
2a03585de6 gitignore everything in /etc/spack except /etc/spack/defaults (#4459)
* gitignore everything in /etc/spack except /etc/spack/defaults

* Don't ignore subsubdirectories of /etc/spack/defaults
2017-08-05 13:18:19 -05:00
Jia Li
41361cffea Fixed OpenBLAS compilation error on POWER8 with GCC 7. (#4783)
* Fixed compilation error on POWER8 with GCC 7.

* Restrict patch to ppc64 with gcc.
2017-08-05 12:56:04 -05:00
Audrey Thoma
6485c3feb5 snap-berkeley: new package (#4855)
* snap: new package

* changing name and adding stable release
2017-08-05 12:42:33 -05:00
snehring
cf017baa8d chlorop: new package (#4865)
* chlorop: new package

* chlorop: moving main script to bin and moving runtime tmp location.

* chlorop: fixing flake8 error.

* chlorop: cleaning up, removing CHLOROTMP, advising user to set it.

* chlorop: removing unused import
2017-08-05 12:39:44 -05:00
Sam Bateman
ce6d357161 Correct boost +mpi for Cray compiler wrappers (#4909) 2017-08-05 12:06:46 -05:00
Axel Huebl
50bf261197 Add ADIOS2 (#4944)
Adds ADIOS2, the C++ Exascale HPC I/O rewrite of ORNL's ADIOS
library.

Currently, many variants (especially for data transforms such as
compression) are not yet added. It already provides Python bindings.
2017-08-05 12:05:38 -05:00
Kelly (KT) Thompson
c54108cf63 Moab depends on BLAS. (#4952) 2017-08-05 12:04:12 -05:00
Adam J. Stewart
a31ce17f0b Various fixes to package name URL parsing (#4978) 2017-08-05 10:15:47 -05:00
Adam J. Stewart
c7df12f698 Massive conversion from Package to CMakePackage (#4975) 2017-08-05 10:15:18 -05:00
Adam J. Stewart
17cdb73be7 Add latest version of numpy and scipy (#4982) 2017-08-05 15:37:53 +02:00
Adam J. Stewart
7eb263effe Add a SConsPackage base class (#4936)
* Add a SConsPackage base class

* Make Matlab extendable

* Most dependencies are actually required

* Cantera requires older version of fmt
2017-08-04 16:52:10 -05:00
Adam J. Stewart
b8ed61cfea Make CMake the default build system (#4862) 2017-08-04 14:53:05 -05:00
Massimiliano Culpo
9be294de31 Changed every 'fpic' variant to 'pic' (#4969)
* Changed every 'fpic' variant to 'pic'. fixes #2463

Every variant that activates compilation of position independent code
has been changed to 'pic'. Hardcoded compiler flags in packages have
been substituted with `self.compiler.pic_flag`.

* Changed literal uses of '-fpic' to 'self.compiler.pic_flag'
2017-08-04 18:21:43 +02:00
Adam J. Stewart
452f382293 Add a QMakePackage base class (#4925)
* Add a QMakePackage base class

* Fix sqlite linking bug in qt-creator

* Add latest version of qt-creator

* Add latest version of qwt

* Use raw strings for regular expressions

* Increase minimum required version of qt

* Add comment about specific version of sqlite required

* Fixes for latest version of qwt and qt-creator

* Older versions of Qwt only work with older versions of Qt
2017-08-04 08:46:07 -07:00
Sergey Kosukhin
f6c2adc0ad New package libaec: a BSD-licensed replacement for the szip library. (#4437)
* Added package for 'libaec'.

* New version for package 'libaec'.
2017-08-04 10:38:54 -05:00
Adam J. Stewart
408dfc8e86 Qt: disable OpenGL support by default (#4962)
* Qt: disable OpenGL support by default

* Fix qt+opengl build
2017-08-04 09:36:02 -05:00
Sergey Kosukhin
f8dfb6a486 OpenBLAS: one of the patches is not needed starting version 0.2.20. (#4971) 2017-08-04 09:34:58 -05:00
Adam J. Stewart
739bb9e5b7 Fix trilinos dependency on superlu-dist (#4968) 2017-08-04 08:17:28 -05:00
Elsa Gonsiorowski
bb4692fdb6 SCR CMake package (#3916)
* SCR CMake package

* Fix dtcmp variant description and set pdsh deptypes to build/run

* added variants for system config file location

* add variants for several scr cmake options

* Added more variants for compile time options

* Added libyogrt and made corrosponding changes to scr package.

* Cleanup yogrt package now that Ive verified it works

* Added description for libyogrt

* upper case async api names

* Make use of mv variants

* fix pdsh package for scr

* added IBM BBAPI as async option

* update pdsh and scr to use static pdsh modules
2017-08-03 16:52:52 -07:00
Axel Huebl
8a7678cae0 Version: Dev -> Develop (#4947)
Adjust the CRP packages with the properly defined version
label "develop" which is now standardized in spack.
2017-08-03 16:35:28 -05:00
George Hartzell
f24398cde6 Add package for libbsd, add variant to expat for libbsd (#4945)
* Add package for libbsd, add variant to expat for libbsd

The recent expat release requires a high quality source of randomness.

CentOS 7 does not seem to have one, but one is available in libbsd.

This commit adds a package for libbsd and adds a variant to expat to
use it (defaults to False).

* Make libbsd default for newer, conflict for older

Make the libbsd variant default to true.

Conflict if you're asking for libbsd and an older version of expat.

This means that in order to install an older version of expat you'll
need to specify `~libbsd`.

* Rework so that 2.2.0 and 2.2.2 work by default

Get rid of the conflicts and use better constraints/tests in the
`depends_on` and the `configure_args` bits.
2017-08-03 14:57:58 -05:00
Adam J. Stewart
4e269510c5 Fix trailing whitespace at the end of headers.cpp_flags (#4957) 2017-08-03 14:24:51 -05:00
George Hartzell
36496b9174 Fix crashes when running spack install under nohup (#4926)
* Fix crashes when running spack install under nohup

Fixes #4919

For reasons that I do not entire understand, duplicate_stream() throws
an '[Errno 22] Invalid argument' exception when it tries to
`os.fdopen()` the duplicated file descriptor generated by
`os.dup(original.fileno())`.  See spack/llnl/util/lang.py, line
394-ish.

This happens when run under `nohup`, which supposedly has hooked
`stdin` to `/dev/null`.

It seems like opening and using `devnull` on the `input_stream` in
this situation is a reasonable way to handle the problem.

* Be more specific about error being handled.

Only catch the specific error that happens when trying to dup
the stdin that nohup provides.

Catching e as a StandardErorr and then
`type(e).__name__` tells me that it's an OSError.

Printing e.errno tells me that it's 22

Double checking tells me that 22 is EINVAL.

Phew.
2017-08-03 10:33:16 -07:00
Adam J. Stewart
5ac10b90c5 Add database support to apr-util package (#4932) 2017-08-03 12:18:23 -05:00
homerdin
d087eeacbd CloverLeaf, miniGhost, miniMD, miniSMAC2D, miniXyce: Adding Tags (#4963) 2017-08-03 12:13:44 -05:00
George Hartzell
687904c714 New package for canu (#4937)
* Add package for canu

There's a top-level perl script, which is touched up to use a
spack-built perl instead of `#!/usr/bin/env perl`.  It's
self-contained, it uses `FindBin` to locate it's libaries.

* Add dependency on gnuplot

I noticed a hidden mention of the use of gnuplot in the docs.

This adds the dependency.

* Tighten dependencies, flake8 cleanup

gnuplot is a run dependency.
jdk is a run dependency.
perl is a run dependency.

Make flake8 happy.
2017-08-03 11:32:44 -05:00
Sergey Kosukhin
963eb99b7f Account for hyphens in package names when searching for libraries. (#4948) 2017-08-03 09:17:07 +02:00
Axel Huebl
269925f775 Protobuf: CMake (#4846)
* Protobuf: CMake

This rebuilds protobuf to be build with CMake,
so cmake config packages are created and installed, too.

Unfurtunately, this drops support for protobuf < 3.

* Protobuf CMake: Add .pc files

* libprotobuf.a: -fPIC

* Protobuf: Minor Updates

Updates from upstream review and planned patch inclusion.
2017-08-02 08:03:31 -05:00
Todd Gamblin
44ce0adbd5 Fix color bug in Spec.format() introduced by #3013 2017-08-01 17:40:54 -07:00
Todd Gamblin
b88f55e523 Add spack dependencies command and tests for it and dependents. 2017-08-01 17:40:54 -07:00
Todd Gamblin
af3c794ab5 document and make display_specs more versatile 2017-08-01 17:40:54 -07:00
Todd Gamblin
b575d008bd Fix issue with case check and spack -m 2017-08-01 17:40:54 -07:00
Todd Gamblin
c8b2100630 Refactor installed_dependents -> installed_relatives 2017-08-01 17:40:54 -07:00
Todd Gamblin
36b3dd8cfe Package.possible_dependencies() descends into virtuals. 2017-08-01 17:40:54 -07:00
Todd Gamblin
b9606e3157 Add --transitive option to spack dependents 2017-08-01 17:40:54 -07:00
Todd Gamblin
6928cf7a68 spack dependents lists possible dependencies by default. 2017-08-01 17:40:54 -07:00
Todd Gamblin
bd94a17066 Remove last vestiges of "special" deptypes.
- Remove `special_types` dict in spec.py, as only 'all' is still used
- Still allow 'all' to be used as a deptype
- Simplify `canonical_deptype` function
- Clean up args in spack graph
- Add tests
2017-08-01 17:40:54 -07:00
Todd Gamblin
43f576cf19 Remove unused code. 2017-08-01 17:40:54 -07:00
Todd Gamblin
f2ddcfac5f Add --all argument to spack dependents
--all causes spack dependents to list all possible dependents for a
package, rather than actual dependents for an installed spec.
2017-08-01 17:40:54 -07:00
Alicia Klinvex
44653fa488 Fix xsdk build broken by petsc and trilinos (#4893)
* Fix xsdk build broken by petsc and trilinos

See #4891 for details

* Fix version conflict in trilinos package

Trilinos version 11 may conflict with superlu-dist.
The version "xsdk-0.2.0" was conflicting with superlu-dist,
even though it shouldn't.  I added a lower bound to the
comparison to fix this problem.

Thanks for the help @davydden!
2017-08-01 12:05:15 -05:00
Adam J. Stewart
82735deafd Clarify docs on using a hash in a spec (#4908) 2017-07-31 13:13:39 -07:00
scheibelp
69a6c8ef78 Fix preference for X.Y version when mixed with X.Y.Z versions (#4922)
For packages which contain a mix of versions with formats X.Y and
X.Y.Z, if the user entered an X.Y version as a preference in
packages.yaml, Spack would get confused and favor any version A.B.Z
where X=A and Y=B. In the case where there is a mix of these version
types, this commit updates preferences so Spack will favor an exact
match.
2017-07-31 13:11:08 -07:00
paulhopkins
1c7e5724d9 Add --color=[always|never|auto] argument; fix color when piping (#3013)
* Disable spec colorization when redirecting stdout and add command line flag to re-enable
* Add command line `--color` flag to control output colorization
* Add options to `llnl.util.tty.color` to allow color to be auto/always/never
* Add `Spec.cformat()` function to be used when `format()` should have auto-coloring
2017-07-31 12:57:47 -07:00
Adam J. Stewart
f3c70c235c Add latest version of SCons (#4929) 2017-07-31 19:57:56 +02:00
Axel Huebl
751f1d4fca ZeroMQ: C++ Headers (cppzmq) (#4841)
Adds the cppzmq library, adding a C++ API to ZeroMQ (libzmq). In order to find the autotools-build libzmq, this requires the upcoming cppzmq release (or development branch).
2017-07-31 19:54:06 +02:00
Adam J. Stewart
1f5ca90929 Add missing dependencies to unixodbc (#4928) 2017-07-31 19:44:33 +02:00
Adam J. Stewart
0aaab9bc8c Add latest version of expat (#4930) 2017-07-31 19:36:18 +02:00
Adam J. Stewart
a9efae271b Add latest version of apr (#4931) 2017-07-31 19:35:48 +02:00
George Hartzell
c126c5553c zsh: add variant that skips tcsetpgrp test (#4923)
zsh's configure script fails if there's it tries to test for terminal
functionality if there's not a terminal (e.g. in a Jenkins build).

The configure script has a switch that asserts that tcsetpgrp works
and thereby avoids running that test.

This commit adds a variant that invokes that switch, defaulting to
True.
2017-07-31 11:17:04 -05:00
Axel Huebl
6d97397ab0 gBenchmark: v1.2.0 (#4935)
Adds a the latest version of gBenchmark, release 1.2.0.

This is the first gBenchmark version with proper
[CMake config package installs](https://github.com/google/benchmark/issues/363).
This is important for dependencies building against it, such as gRPC.
2017-07-31 10:06:17 -05:00
Robert Pavel
f7c24289e5 Initial Spackage for qmd-progress library (#4924)
* Initial Spackage for qmd-progress library

PROGRESS is a library is focused on the development of general solvers
that are commonly used in quantum chemistry packages.

* Removed LA-CC from description to fix formatting

* Added Additional Formatting Requests

Added requested formatting changes and also ensured that graphlib and
mpi are disabled if not enabled
2017-07-28 17:10:24 -05:00
sknigh
92ea7c4337 Fix for m4%clang (#4912)
* Fix for m4%clang

* Restricted condition to not subsitute rtlib on OSX
2017-07-28 11:32:53 -05:00
Jon Rood
c5d2206206 Adding QWT package. (#4911)
* Adding QWT package.

* Using builtin file filtering.

* Formatting.
2017-07-27 16:22:29 -05:00
Christoph Junghans
78d7587c93 bml: fix homepage (#4918) 2017-07-27 16:07:47 -05:00
Akhil Reddy Patlolla
6bdc373100 Added Proxy App tag (#4917)
* Added Proxy App tag

*  NO changes except proxy app tag
2017-07-27 15:56:59 -05:00
pkondamudi
ce601a9304 New Package: lcals (#4792)
* New Pacakge: lcals

* added logic for arch detection and compiler choice.

* fixes for comments.

* addressed comments.

* removed LCALS_ARCH and added flags though spack.

* addressed comments.

* flake 8 fix.

* reerted the changes along with comments.
2017-07-27 14:24:28 -05:00
Jim Galarowicz
99cac0bf94 Fix for Krell openspeedshop spack package bug. New multi-value variant for GUI build. (#4880)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.

* Fix issues with the cbtf-argonavis build, update to use dyninst-9.3.2, fixes to openspeedshop package build.

* Fix issues with the cbtf-argonavis package.py files related to comments.

* Add changes for changing the krell packages from Package to CMakePackage.

* Add better changes for changing the krell packages from Package to CMakePackage.

* Add more modifications for changing the krell packages from Package to CMakePackage.

* Add additional modifications for changing the krell packages from Package to CMakePackage and fixing Travis erros

* Fix new travis errors.

* Fix new travis errors.

* Add more changes for PR 4765.

* Add more refinements to the conversion from Package to CMakePackage.

* Fix new travis errors.

* Add dependencies for MPI to be passed to cbtf-krell, so it can build the MPI collectors requested by the builder of openspeedshop.

* Remove extra unnecessary routine to adjust build arguments. Fix if-else clause issue.

* Fix more flake issues caused by last changes.

* Fix a bug where openspeedshop will not build when no mpi variants are specified.  Also switch to a multiple level variant for building the gui(s).  Use none, qt3, and qt4 as the variants with qt3 being the default.

* Add fix for spack issue #4843, where LTDL include files were not found.

* Add the build_type variant back into the openspeedshop package file.
2017-07-27 11:06:44 -05:00
pkondamudi
31a329d237 New Package: RSbench (#4752)
* New Package: RSbench

* minor change

* removed tags as per PR# 4749

* addressed comments and added gcc compiler.

* added proxy app tags to description.

* removed setting CC to pgicc through spec.

* removed compiler as depedency

* removed pgi variant.

* flake 8 fix.

* added mpi depedency with pgi compiler

* added  pgi compiler

* removed PGI compiler as depedency.

* added tags and addressed other code formattings.

* added tags and addressed other code formattings.

* addressed comments.
2017-07-27 10:59:30 -05:00
Denis Davydov
ddc1dcd084 openblas: add 0.2.20 (#4915) 2017-07-27 08:51:39 -05:00
Audrey Thoma
70a089287e snptest: new package (#4900)
* snptest: new package

* fixed version things

* fixed install phase
2017-07-26 17:44:15 -05:00
Adam J. Stewart
b33f92da34 Improve version detection for URLs with dynamic after version (#4902) 2017-07-26 17:43:54 -05:00
Robert Pavel
6e99e2c58e Updated Namespace of BML Repository (#4910) 2017-07-26 17:42:26 -05:00
pkondamudi
4ab12fb503 added MPI dependency to Nekbone package (#4903)
* removed the tags as per comment in PR# 4749

* addressed above comments

* changed fortran compiler.

* added proxy application tags.

* added tags by removing them from description.

* addressed comments

* used join_path instead of path concat.

* removed the tags as per comment in PR# 4749

* addressed above comments

* changed fortran compiler.

* added proxy application tags.

* added tags by removing them from description.

* addressed comments

* used join_path instead of path concat.

* added tags.

* changes to use MPI as depedency.

* removed MPI as variant.

* changed pointer to filtered makenek file.

* flake 8 fix.
2017-07-26 14:27:29 -05:00
Audrey Thoma
b62f0962b0 shortstack: new package (#4905) 2017-07-26 10:14:55 -05:00
Adam J. Stewart
07aec4366f Add universal build_type variant to CMakePackage (#4797)
* Add universal build_type variant to CMakePackage
* Override build_type in some packages with different possible values
* Remove reference to no longer existent debug variant
* Update CBTF packages with new build_type variant
* Keep note on build size of LLVM
2017-07-25 16:34:43 -07:00
Sam Bateman
4b996e9f49 tmux should not set PKG_CONFIG_PATH (#4901)
* fixes #967

* Version bump to 0.9.1

- Bugfixes for spack find
- 0.9.1 can read specs from current develop.

* Don't assume spack is in the path when building docs.

* Remove PKG_CONFIG_PATH from tmux configure

* Change tmux to AutotoolsPackage

* Correct link to libtinfo in tmux
2017-07-25 17:08:34 -05:00
becker33
30f6d2ab90 fix callpath bug (#4659)
* fix callpath bug I found while testing env/cc

* fix hanging indent for flake
2017-07-25 13:51:56 -07:00
Audrey Thoma
6693dc1092 transdecoder: new package (#4895)
* transdecoder: new package

* fixed package structure
2017-07-25 15:51:14 -05:00
Audrey Thoma
402233ecc8 transposome: new package (#4896) 2017-07-25 15:50:42 -05:00
Audrey Thoma
668233a819 trimgalore: new package (#4899) 2017-07-25 15:50:23 -05:00
Gregory Lee
42717bd8e8 fix config.guess patch for ppc64le (#4858)
* fix config.guess patch for ppc64le

* explicit patch for config.guess not required
2017-07-25 13:44:51 -07:00
Audrey Thoma
71991cd9c9 cleaveland4: new package (#4894)
* cleaveland4: new package

* fixing return line in viennarna url_for_version
2017-07-25 13:18:34 -05:00
Audrey Thoma
20ab66a2e9 tabix: new package (#4886)
* tabix: new package

* fixed docs location
2017-07-25 13:02:08 -05:00
Audrey Thoma
5184dda309 sumaclust: new package (#4884)
* sumaclust: new package

* tweaking url and make specs
2017-07-25 08:04:25 -05:00
Jimmy Tang
1d1a0e3d63 Update zstd version (#4873)
* Update zstd version

* Change order of versions

* Use MakefilePackage
2017-07-25 07:55:02 -05:00
Jimmy Tang
2b792f943f Rename the gpu variant to cuda, this is to be consistent with other (#4890)
packages.
2017-07-25 07:53:33 -05:00
Denis Davydov
b0b86e5ffe fix GobjectIntrospection on Darwin (#4872)
* fix GobjectIntrospection on Darwin

* minor
2017-07-24 19:51:17 -05:00
Audrey Thoma
4237e5fffd stacks: new package (#4875) 2017-07-24 19:50:40 -05:00
Stas Sergienko
07e60bc26b added new version of jdk 8u141-b15 (#4876) 2017-07-24 19:50:16 -05:00
Audrey Thoma
d2f08c95d9 swarm: new package (#4885) 2017-07-24 19:49:59 -05:00
Audrey Thoma
8038945145 structure: new package (#4879)
* structure: new pacakge

* fixing package structure (not a pun)
2017-07-24 18:02:20 -05:00
Audrey Thoma
0c96c330ec subread: new package (#4882) 2017-07-24 18:01:56 -05:00
Stas Sergienko
9aa3749787 added new version of cdo (#4877) 2017-07-24 15:50:44 -05:00
Audrey Thoma
bd0699b026 stringtie: new package (#4878) 2017-07-24 15:50:32 -05:00
Adam J. Stewart
250ee413e9 Change Version formatting properties and functions to return Version objects (#4834)
* Change version.up_to() to return Version() object
* Add unit tests for Version.up_to()
* Fix packages that expected up_to() to return a string
* Ensure that up_to() preserves separator characters
* Use version indexing instead of up_to
* Make all Version formatting properties return Version objects
* Update docs
* Tests need to test string representation
2017-07-24 13:02:13 -07:00
Jimmy Tang
df2fc25ddf Add a py-theano version from git repo (#4871) 2017-07-24 08:56:54 -05:00
健美猫
8a06e3d867 Add cuda variant for mvapich2. (#4800)
* Add cuda variant for mvapich2.

* Disable cuda for mvapich2 by default.
2017-07-23 12:18:05 -05:00
Stephen McDowell
1cdb3c61ca fix sphinx dependencies, add v1.6.3 (#4870) 2017-07-23 09:44:12 -05:00
Milton Woods
4044e9f918 Perl - allow package activation without PERL5LIB variable (#4540)
* perl: prepend default perl @INC path to support package activation

* perl: remove stray comma from list of configure arguments

* perl: final comma in configure arguments makes adding arguments safer

This reverts commit fdc10cd611f525ebc31ca1953e048095b1c75350.

* perl: add comment about modified @INC (thanks to George Hartzell)

* perl: use self.prefix.lib and self.prefix.bin for clarity

* perl: convert tabs added by editor to spaces for flake8

* perl: use new path syntax: prefix.lib.perl5

* perl: avoid line break before binary operator

* perl: use compact spack syntax for perl executable
2017-07-23 09:41:45 -05:00
Axel Huebl
62b4087c09 gBenchmark: Development Package (#4847)
* gBenchmark: Development Package

Add the development version (master branch) of `gBenchmark`

* gBenchmark: Remove Duplicate

Remove duplicate `gbenchmark` library
and keep its patch to remove the shipped
-Werror
2017-07-23 09:35:16 -05:00
Todd Gamblin
f159246d1d Make testing spack commands simpler (#4868)
Adds SpackCommand class allowing Spack commands to be easily in Python

Example usage:

    from spack.main import SpackCommand
    info = SpackCommand('info')
    out, err = info('mpich')
    print(info.returncode)

This allows easier testing of Spack commands.

Also:
* Simplify command tests
* Simplify mocking in command tests.
* Simplify module command test
* Simplify python command test
* Simplify uninstall command test
* Simplify url command test
* SpackCommand uses more compatible output redirection
2017-07-22 21:27:54 -07:00
Kshitij Mehta
c07d93a3e5 Savanna (#4856)
Installing the stable version 0.5 through the checksummed tar.gz does not fetch the git submodule in the package.
The submodule appears as an empty directory.

Thus, clone the commit tagged as v0.5 using git to get around this issue

* savanna: modified adios dependency spec
* Replaced adios+staging with adios+flexpath+dataspaces
* savanna: Enabling fortran support in adios by default
* savanna: reverting to variant 'staging' for enabling all staging transports
2017-07-21 23:47:13 -07:00
Audrey Thoma
aa96e1671b sparta: new package (#4867)
* sparta: new package

* fixing homepage
2017-07-21 21:40:31 -05:00
jiseung
e191ead9ac new package: miniGMG (#4849)
* new package: miniGMG

* changed based on comments

* removed cuda version
2017-07-21 20:52:09 -05:00
Audrey Thoma
cd9742a30b revbayes: trying this again (#4861) 2017-07-21 20:51:39 -05:00
Audrey Thoma
b56add1517 sortmerna: new package (#4866) 2017-07-21 20:51:03 -05:00
Gregory Lee
644f5b3229 added new pruners-ninja version (#4859) 2017-07-21 17:57:12 -05:00
Michael Kuhn
37d6907382 lmdb: Update to 0.9.21 (#4830)
Convert to MakefilePackage and add pkg-config file.
2017-07-21 17:12:17 -05:00
Audrey Thoma
aa98e35e58 singularity: new package (#4852) 2017-07-21 15:36:03 -05:00
Audrey Thoma
4164c5d5e6 smalt: new package (#4853) 2017-07-21 15:35:47 -05:00
Audrey Thoma
469e77068f seqprep: new package (#4850) 2017-07-21 14:25:18 -05:00
Audrey Thoma
cf88490059 sickle: new package (#4851) 2017-07-21 14:25:02 -05:00
Axel Huebl
e864e3bb51 New Package: C-Ares (#4840)
Adds the c-ares library, a C library for asynchronous DNS requests.

Required for the google gRPC library.
2017-07-21 09:36:14 -05:00
Audrey Thoma
51ad3a622e salmon: new package (#4833) 2017-07-21 09:17:55 +02:00
Audrey Thoma
7afce8d8cc satsuma2: new package (#4838) 2017-07-21 08:58:20 +02:00
Milton Woods
7876262826 py-cdat-lite: ensure that RPATH includes netcdf (#4521) 2017-07-20 14:13:36 -05:00
Mark Olesen
0ea2c7904a add mesa +swrender variants (gallium software/off-screen rendering) (#4602)
- +swrender variant lets you compile an off-screen only version for
  software rendering on clusters.

- +swrender+llvm for using llvm for the software pipe

- added newer versions (17.1 and 13.0) and corrected the url location
  to use the canonical location.
2017-07-20 14:12:05 -05:00
Kshitij Mehta
31425974b4 GTKorvo (#4657)
* gtkorvo-atl: atl library from gtkorvo

* gtkorvo-dill: dill library from gtkorvo

* gtkorvo-cercs-env: cercs_env library from gtkorvo

* gtkorvo-enet: Enet networking library from gtkorvo

* libffs: FFS middleware communication library from GTKorvo

* libevpath: EVPath high performance communication library from GTKorvo

* gtkorvo-cercs-env: Added homepage and removed function configure_args

* gtkorvo-cercs-env: Re-add of accidental removal of cmake_args function in previous commit

* gtkorvo-enet: Removed configure_args since unused
2017-07-20 14:07:52 -05:00
pkondamudi
b39e6c6fd0 New Package: SNbone. (#4754)
* removed the tags as per comment in PR# 4749

* addressed above comments

* changed fortran compiler.

* added proxy application tags.

* added tags by removing them from description.

* addressed comments

* used join_path instead of path concat.

* addressed comments

* removed string formatting for LDFLAGS.
2017-07-20 13:26:31 -05:00
Jim Galarowicz
5173a8bef9 Spack updates to three Krell packages (#4765)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.

* Fix issues with the cbtf-argonavis build, update to use dyninst-9.3.2, fixes to openspeedshop package build.

* Fix issues with the cbtf-argonavis package.py files related to comments.

* Add changes for changing the krell packages from Package to CMakePackage.

* Add better changes for changing the krell packages from Package to CMakePackage.

* Add more modifications for changing the krell packages from Package to CMakePackage.

* Add additional modifications for changing the krell packages from Package to CMakePackage and fixing Travis erros

* Fix new travis errors.

* Fix new travis errors.

* Add more changes for PR 4765.

* Add more refinements to the conversion from Package to CMakePackage.

* Fix new travis errors.

* Add dependencies for MPI to be passed to cbtf-krell, so it can build the MPI collectors requested by the builder of openspeedshop.

* Remove extra unnecessary routine to adjust build arguments. Fix if-else clause issue.

* Fix more flake issues caused by last changes.
2017-07-20 13:25:57 -05:00
Audrey Thoma
5f0e1514ac kentutils: new pacakge (#4831) 2017-07-20 13:16:32 -05:00
jiseung
16fbd0fc41 new package:SNAP (#4826) 2017-07-20 13:15:43 -05:00
becker33
f962aba6ce Allow packages to control handling of compiler flags (#4421)
* Initial work on flag trapping using functions called <flag>_handler and default_flag_handler

* Update packages so they do not obliterate flags

* Added append to EnvironmentModifications class

* changed EnvironmentModifications to have append_flags method

* changed flag_val to be a tuple

* Increased test coverage

* added documentation of flag handling
2017-07-19 20:12:00 -07:00
George Hartzell
acca75b368 Add info for zsh@5.3.1 (#4827) 2017-07-19 21:49:15 -05:00
pkondamudi
9df9a809a8 Add MPI support and tags to embs package (#4824) 2017-07-19 19:04:48 -05:00
pkondamudi
bdcd63ed70 Add tags to nekbone package (#4825) 2017-07-19 19:03:53 -05:00
jiseung
9ae36849af new package: cns-nospec (#4806)
* new package: cns-nospec

* made changes as suggested and added proxy-app tag

* updated edit()

* adjusted logic for '+debug'
2017-07-19 17:05:19 -05:00
jiseung
301b457de3 new package: amr-exp-parabolic (#4821)
* new package: amr-exp-parabolic

* removed boilerplate and added tag
2017-07-19 17:04:53 -05:00
pkondamudi
1b0d2888bb Package/xsbench (#4822)
* removed the tags as per comment in PR# 4749

* addressed above comments

* changed fortran compiler.

* added proxy application tags.

* added tags by removing them from description.

* addressed comments

* used join_path instead of path concat.

* added tags and other minor changes.

* removed tags from description.
2017-07-19 17:04:17 -05:00
jiseung
60cffbb9d0 new package PENNANT added (#4708)
* new package PENNANT

* made adjustments based on comments

* edited logic for mpi variant

* replaced with 'else'

* prefix.bin instead of 'bin'
2017-07-19 08:50:53 -05:00
Akhil Reddy Patlolla
a6cac6ac99 Added Proxy App CoSP2 (#4726)
*  Added Proxy App CoSP2

*  Updated the PATH

* Updated MPI Fix

*  Fixed Issues

*  Fixed Issues with compiler and Flake8

*  Enhanced block of code.

*  Intended
2017-07-19 08:49:29 -05:00
Akhil Reddy Patlolla
7165129598 Added Proxy App CoHMM (#4727)
*  Added Proxy App CoSP2

*  Added Proxy App CoHMM

*  Updated PATH cohmm

*  Chages Fixing Minor issues

* Minor Fix  git add cohmm/package.py

*  Updated

* Resolved TAG Conflict

*  Updated based on the codecov failure
2017-07-19 08:48:41 -05:00
jiseung
e3e8893ed9 new package: CLAMR (#4728)
* new package: CLAMR

* changed from bool variants to single value variants and corresponding logic in build_type and cmake_args

* lowercase variant values

* updated conditionals for variants

* adjusted url and docstring
2017-07-19 08:48:03 -05:00
pkondamudi
45a7e8bb12 New Package: SimpleMOC (#4742)
* New Package SimpleMOC

* addressed comments

* removed tags as per PR# 4749

* flake8 fix.

* travis fix.

* added proxy app tags to description.

* added mpi and openmpi depedency.

* removed openmpi depdedency.

* addressed comments.

* adding openmp flag conditionally.

* flake 8 fix for tabs.
2017-07-19 08:46:42 -05:00
Kshitij Mehta
6e2eb83943 codar-cheetah: URL fix (#4815) 2017-07-18 22:49:51 -05:00
Adam J. Stewart
5fc0243d35 Improve version detection of release versions (#4816) 2017-07-18 22:48:39 -05:00
jiseung
d1c199e15d new package: SMC (#4817)
* new package: SMC

* removed template and added proxy-app tag

* added comp variant in edit()

* edited comp variant in edit()
2017-07-18 22:48:21 -05:00
Gregory Lee
b411849200 Misc python updates (#4807)
* updated py-pylint version

* setuptools required at runtime for pkg_resources

* fixed url for updated pylint
2017-07-18 19:37:40 -05:00
Adam J. Stewart
2bd8d7a36a Always install xproto in serial (#4809) 2017-07-18 19:37:12 -05:00
Audrey Thoma
e2485efb94 poamsa: new package (#4808)
* poamsa: new package

* fixed version specs
2017-07-18 19:36:48 -05:00
jiseung
78c11320d6 new package to be added: NuT (#4760)
* new package to be added: NuT

* removed cmake_args() and made other changes as suggested

* Added setup_environment()

* PEP8 compliant

* edited version name, build_targets, and files/directories to install

* corrected executable directory

* compiler dependencies based on version
2017-07-18 16:37:47 -05:00
Audrey Thoma
748221840a price: new package (#4810) 2017-07-18 16:35:33 -05:00
Audrey Thoma
3e72263d79 New package busco (#4678)
* busco: new package

* busco: fixing fussy paths

* removing paths, probably was a problem with our module setup

* fixed dep type
2017-07-18 13:49:18 -05:00
Jon Rood
904f6f0572 Adding a bit more Mellanox MXM capability to OpenMPI. (#4762) 2017-07-18 13:45:43 -05:00
Audrey Thoma
0e28afef1e raxml: new package (#4777)
* raxml: new package

* changed compiler variable

* removing if statement regarding intel compiler
2017-07-18 13:43:42 -05:00
homerdin
68a8f63569 Package/minimd (#4788)
* New Package: miniMD

* Minor Changes

* Corrected Dependency

* Renamed Executable

* Change to use build directory directly
2017-07-18 13:42:57 -05:00
pkondamudi
e291f59ea3 New Package: OpenMC (#4790)
* New Package: OpenMC

* comments addressed.

* comments addressed.

* changed 'os.makedirs' to 'mkdirp'

* flake 8 fix.
2017-07-18 13:42:11 -05:00
becker33
d2a63d55fa Open ended variants (#4746)
* Change directives to allow open-ended variants more easily

* make None default to open-ended
2017-07-18 10:03:15 -07:00
Adam J. Stewart
1215c3b20c Change path to CMakeLists.txt to be relative to root, not pwd (#4420)
* Change path to CMakeLists.txt to be relative to root, not pwd

* Changes requested during code review

* Revert back to old naming of root_cmakelists_dir
* Make relative directory more clear in docs

* Revert change causing build_type AttributeError

* Fix forgotten abs_path var

* Update CLHEP with new relative path

* Update more packages with new root_cmakelists_dir syntax
2017-07-18 09:58:19 -07:00
Massimiliano Culpo
5a1ee22575 package: removed default no-op patch (#4103)
* package: removed default no-op patch fixes #4085

* do_patch: handles NoSuchMethodError nicely
2017-07-18 09:53:35 -07:00
健美猫
6b2d75a0a6 Repalce ftp:// with http:// for gdbm, mesa-glu and udunits2. (#4798) 2017-07-18 11:22:14 -05:00
George Hartzell
c597bdb284 somatic-sniper depends_in('curses') (#4796)
somatic-sniper installs its own copy of samtools, which needs curses.
I'm not sure why I didn't stumble on this in my dev environment, but I
just stumbled over it in a standalone build.
2017-07-18 09:40:41 -05:00
健美猫
870062076f Add version 3.4.1 for r. (#4799) 2017-07-18 13:04:49 +02:00
Audrey Thoma
07d82422b8 pcma: new package (#4793) 2017-07-18 11:13:17 +02:00
Adam Fidel
da61455cc3 New Package: tig (#4794) 2017-07-18 11:10:39 +02:00
homerdin
7c1ce6e206 Package/minixyce (#4789)
* New Package: miniXyce

* Removed Tag
2017-07-17 15:50:31 -05:00
Audrey Thoma
9872fe980b partitionfidner: new package (#4791) 2017-07-17 15:49:26 -05:00
Massimiliano Culpo
6dcbc30a2c qhull: fix to work around a known issue of the library with intel compiler (#4648) 2017-07-17 14:39:09 -05:00
Audrey Thoma
2bf140601b bsseeker2: new package (#4770) 2017-07-17 19:02:17 +02:00
Kshitij Mehta
9c9f0c9612 codar-cheetah: Experimentation harness from the ECP CODAR project (#4658)
* codar-cheetah: Experimentation harness from the ECP CODAR project

* codar-cheetah: conforming to flake8
2017-07-17 09:33:57 -05:00
Audrey Thoma
990d60d340 mrbayes: new package (#4757)
* mrbayes: new package

* fixing beagle version

* fixing typos

* fixing libbeagle dependency types
2017-07-17 09:20:49 -05:00
homerdin
62f5eafc55 New Package: miniSMAC2D (#4767) 2017-07-17 09:15:15 -05:00
homerdin
f43e4890db Package/minighost (#4773)
* New Package: miniGhost

* Fixed empty string formatting
2017-07-17 09:13:46 -05:00
Axel Huebl
c110d03f95 ZeroMQ: 4.2.2 & develop (#4785)
The 4.X branches are now on the homepage, so we take the GitHub release
artifact (careful: take their upload, not the automatic tarball).

Adds a development version of ZeroMQ.
Requires a autogen run, as for all their unreleased versions,
and the pkg-config fix in #4736
2017-07-17 08:40:48 -05:00
Axel Huebl
febf41e0e2 pkg-config: aclocal env (#4736)
Always sets the `pkg-config` environment hint for
autotools.

Required dependency for `autoreconf` of ZeroMQ when
build from source (e.g. v4.2.2) via autotools in `autogen.sh`
step for `autoreconf`.
2017-07-17 08:40:22 -05:00
Audrey Thoma
7e32756fce orfm: new package (#4769) 2017-07-15 19:03:55 +02:00
George Hartzell
89ef576ba4 Add package for the Python regex library (#4771)
Lightly tested on CentOS 7 with `python@2.7.13` and `python@3.6.0`.
2017-07-15 18:11:54 +02:00
George Hartzell
ad2a22fa01 Add package for r-ada, update r-rpart version (#4772)
* Add package for r-ada, update r-rpart version

Adds a package for r-ada.

Update the version for r-rpart because the previous version is
no longer at that URL.  The previous version *is* in the Archive,
but list_url does not seem to be able to find it.

* Clean up FIXMEs (blush)
2017-07-15 18:08:36 +02:00
George Hartzell
8e6d7f117a Add package for MuSE (#4779) 2017-07-15 18:06:43 +02:00
George Hartzell
8bd22c3294 Add package for Somatic Sniper (#4778)
Lightly tested on CentOS 7.
2017-07-15 18:05:51 +02:00
homerdin
246c07f864 New Package: miniFE (#4712)
* New Package: miniFE

* Removed extra property, using variant value directly
2017-07-14 15:55:51 -05:00
Kshitij Mehta
31503cb058 Savanna (#4713)
* savanna: Runtime framework for online workflow management from the ECP CODAR project

* savanna: added version 0.5

* savanna: Copying the package contents to prefix as part of installation

* savanna: Doing submodules=true for git checkout of develop version

* savanna: removed dependency on adios@develop. depends on adios

* Savanna: Converted package to MakefilePackage
2017-07-14 15:54:57 -05:00
homerdin
f5f37845d6 New Package: Pathfinder (#4714)
* New Package: Pathfinder

* Added index for String format

* Changed to make Makefile edit more specific

* Make Flake8 Happy

* Removed unneeded conversion
2017-07-14 15:54:31 -05:00
George Hartzell
88cb8b493b Add package for freebayes (#4718)
* Add package for freebayes

* Don't include url, must use git info.

* Fix flake8 complaints
2017-07-14 15:49:46 -05:00
George Hartzell
ea8c05b263 Add package for Sniffles (#4719)
* Add package for Sniffles

* Wire up a manual install step

The cmake infra doesn't install anything, so do it by hand.

The binaries land in a location that embeds the version...
2017-07-14 15:49:02 -05:00
Audrey Thoma
1e205c09d8 hybpiper: new package (#4720)
* hybpiper: new package and spades dependency

* hybpiper: making flkae8 happy

* hybpiper: fixing dependency errors

* fixing python dep type

* removing cmake from spade dependencies
2017-07-14 15:48:30 -05:00
homerdin
c78ee4a733 Package/cloverleaf (#4759)
* New Package: CloverLeaf

* Removed Tag and Added Documentation

* Corrected Dependencies and Variant Values
2017-07-14 15:46:20 -05:00
pkondamudi
76d95b1798 New Package: Nekbone. (#4748) 2017-07-14 19:40:18 +02:00
pkondamudi
b3692d14fd New Package: EBMS (#4749) 2017-07-14 19:37:52 +02:00
Axel Huebl
0d8b126d66 libwebsockets: new versions (#4764)
* libwebsockets: new versions

both new versions fix a nasty bug leading to a hanging
connection on connect.

* ISAAC Server: Fix libwebsockets

ISAAC server did hang in docker containers due to a bug
in libwebsockets.
2017-07-14 10:28:15 -05:00
Denis Davydov
d929ea8102 slepc: fix download url (#4763) 2017-07-14 08:00:28 -05:00
pkondamudi
dfd56da358 New Package:XSBench (#4751)
* New Package:XSBench

* minor changes

* replaced extend() with append()

* addressed comment.

* removed tags as per PR# 4749
2017-07-13 22:21:30 -05:00
Patrick Gartung
f63cdc7b61 Add two python packages for editing mach-O headers. (#4725)
* Add two python packages for editing mach-O headers. Much faster than calling otool and install_name_tool directly

* remove non-overriding function

* autopep8
2017-07-13 22:07:22 -05:00
Audrey Thoma
3eedbd7c4e py-deeptools: new package and dependencies (#4717)
* py-deeptools: new package and dependencies

* py-deeptools: fixing python things

* missed a fix
2017-07-13 22:02:08 -05:00
Alen Kansakar
29fd896179 jags: Adding atlas as it depends on atlas 2017-07-13 09:48:30 -05:00
homerdin
34aea1328a New Package: CloverLeaf3D (#4705)
* New Package: CloverLeaf3D

* Fixed Flake8 Mistake

* Removed unnecessary check
2017-07-13 09:22:45 -05:00
Audrey Thoma
d68aa03868 graphmap: new package (#4707) 2017-07-13 09:21:37 -05:00
Jon Rood
47fe9e7aad Adding OpenMP variant to Trilinos. Also building NetCDF with PNetCDF directly, for Trilinos. (#4687)
* Adding OpenMP variant to Trilinos. Also building NetCDF with PNetCDF in Trilinos when necessary.

* Adding runtime error for PNetCDF variant in Trilinos when necessary. Omitting unnecessary openmp variant for Trilinos in Nalu.

* Changing variant checks to conflicts statements.

* Adding comments to Trilinos package.
2017-07-13 09:14:15 -05:00
Audrey Thoma
bde58a319b idba: new package (#4722) 2017-07-13 08:35:22 -05:00
Audrey Thoma
c104fa233a infernal: new package (#4724) 2017-07-13 08:32:55 -05:00
Audrey Thoma
4cbe1b338f last: new package (#4729) 2017-07-13 08:26:17 -05:00
Audrey Thoma
e257ea59c2 maverick: new package (#4731) 2017-07-13 08:09:23 -05:00
George Hartzell
adcaa82b88 Add package for daligner (#4734) 2017-07-13 08:08:36 -05:00
Audrey Thoma
c7af89d8fc mcl: new package (#4732) 2017-07-13 08:03:26 -05:00
Denis Davydov
92e6616a8a dealii: workaround for concretization bug (#4735)
* dealii: workaround for concretization bug

* trilinos: add Anasazi which got disabled recently
2017-07-13 07:51:45 -05:00
Audrey Thoma
1ecb389dcb mitofates: new package and dependency libsvm (#4741) 2017-07-13 07:44:44 -05:00
Akhil Reddy Patlolla
5ac2020c98 Added ASPA Proxy App (#4743) 2017-07-13 07:30:01 -05:00
Alen Kansakar
6ce33d7773 Jags: Changing depends on to only include lapack 2017-07-12 14:52:54 -05:00
Alen Kansakar
d930c8d01a Jags: Fixing problems found by flack8 2017-07-12 11:39:08 -05:00
kansakar
8873fc3a20 Jags: Adding jags defination 2017-07-12 11:39:07 -05:00
Christoph Junghans
a95f40f18e hpx: added new package (#4709) 2017-07-12 07:54:27 +02:00
George Hartzell
ff906faf9a Typo: submdoules -> submodules (#4716) 2017-07-12 07:48:31 +02:00
Audrey Thoma
3566966d47 genometools: new package (#4706)
* genometools: new package

* genometools: fixing perl dependency type
2017-07-11 07:49:00 -05:00
Audrey Thoma
143d50ab67 fseq: new package (#4702)
* fseq: new package

* fseq: fixed dependency type
2017-07-10 18:30:24 -05:00
homerdin
5bad9dfeac New Package: MiniAMR (#4701)
* New Package: MiniAMR

* Removed empty braces string formatting
2017-07-10 18:30:08 -05:00
homerdin
45e731d574 New Package: HPCCG (#4693)
* New Package: HPCCG

* Moved Run Script Install Location
2017-07-10 12:31:41 -05:00
homerdin
c908ccecdc New Package: MiniAero (#4694) 2017-07-10 12:31:23 -05:00
Audrey Thoma
02258056fd exabayes: new pacakge (#4695)
* exabayes: new pacakge

* exabayes: added configure arg

* exabayes: adding comments regarding compilers
2017-07-10 12:29:59 -05:00
Audrey Thoma
1f9d6927b7 csdp: new pacakge (#4700) 2017-07-10 12:28:51 -05:00
Audrey Thoma
c80bca00ff ea-utils: new package (#4690)
* ea-utils: new package

* ea-utils: simplifying self.spec.prefix

* ea-utils: added comment about perl

* ea-utils: fixing flake8 error
2017-07-10 12:26:03 -05:00
EmreAtes
1abf31d3fa New package: CoMD (#4697)
* New package: comd

* Avoid re-defining build
2017-07-09 09:05:11 -05:00
Mike DePaulo
72aa99cb24 GCC: Add strip variant to reduce installation size (#4670)
* gcc: Add strip variant

* gcc: Fix strip variant description being too long
2017-07-07 22:17:52 -05:00
George Hartzell
efecefd4dd Add a package for tophat (#4698)
Lightly tested on CentOS 7.
2017-07-07 22:15:38 -05:00
Audrey Thoma
56b959501a fastx-toolkit: solving gcc conflict (#4696) 2017-07-07 16:53:15 -05:00
Christoph Junghans
1886b0b370 New package: quinoa (#4686) 2017-07-07 11:11:53 +02:00
homerdin
60a8b68a7e Added TeaLeaf Package (#4683) 2017-07-07 10:54:34 +02:00
Axel Huebl
46e3c2b274 Isaac Server 1.3.1: New version (#4689)
adds a new release of isaac-server.
2017-07-07 10:51:09 +02:00
Audrey Thoma
d64405a30f emboss: new package (#4691) 2017-07-07 10:47:26 +02:00
Axel Huebl
396e76eb7c New Packages: gearshifft, clFFT (#4560)
Adds the `gearshifft` package, a benchmark suite for heterogeneous implementations of FFTs.
Adds clFFT, a software library containing FFT functions written in OpenCL.

see: https://github.com/clMathLibraries/clFFT
2017-07-07 10:46:35 +02:00
Gregory Lee
28cb1e4379 patch config.guess after autoreconf step (#4604) 2017-07-06 23:07:54 -05:00
Audrey Thoma
e003e2f78b cap3: new package (#4680)
* cap3: new package

* cap3: removing boilerplate

* cap3: fixed version and added doc
2017-07-06 13:34:40 -05:00
George Hartzell
8fe51b3ffc Make vcftools actually install its libraries (#4682)
The vcftools package was installing its Perl libraries into a
directory in the staging directory named 'lib', instead of installing
them into `prefix.lib` where they should have been because the value
passed to the configure script was wrong.

The result was that any attempt to run one of the scripts in the
package failed with something like:

> Can't locate VcfStats.pm in @INC (you may need to install the
> VcfStats module) [...]

This fix provides the correct information in `configure_args`.

Tested lightly on CentOS 7.
2017-07-06 13:33:57 -05:00
Axel Huebl
b749986dcc Isaac 1.3.1: New version (#4685)
adds a new release of isaac.
(1.3.0 forgot to bump the internal version number
in include macros)
2017-07-06 13:23:11 -05:00
Audrey Thoma
c3d0911cf6 cdbfasta: new package (#4681) 2017-07-06 17:10:25 +02:00
Audrey Thoma
df99fb4980 New package butter (#4679)
* butter: new package

* butter: fixed dependency type
2017-07-05 19:33:43 -05:00
Audrey Thoma
4beb76daf6 New package bucky (#4677) 2017-07-05 21:09:01 +02:00
Pramod S Kumbhar
bf195cd8b9 Fix for building osu-micro-benchmarks on OS X (librt not avaialble/required) (#4675)
* Fix for building osu-micro-benchmarks on OS X (librt not available/required)

* Fixed typo and replaced extend by append
2017-07-05 13:31:26 -05:00
Audrey Thoma
09681f721d Package ampliconnoise (#4676)
* ampliconnoise: new package

* ampliconnoise: fixed installation

* ampliconnoise: fixing install again
2017-07-05 13:30:40 -05:00
Massimiliano Culpo
f403117f71 libint: factored parts of configure_args into their own functions (#4211)
* libint: factored parts of configure_args into their own functions

* libint: added -xSSE2, as suggested by @lee218llnl
2017-07-05 09:19:39 -05:00
Michael Kuhn
e3bd6e3d93 gcc: Add version 6.4.0 (#4673) 2017-07-05 15:44:07 +02:00
Philip Davis
58915e6e7f New package: DataSpaces (#4651)
* Dataspaces spack package, hard-wired for ubuntu VM

* Initial commit of dataspaces spack package

* Made changes and additions necessary to install on Cori and Titan

* Added temp 1.6.2.1 for testing

* Updated tar file for 1.6.2

* Fixed formatting

* Set the type of build dependencies

* Changed the way autogen.sh is called for compatibility

* Use append instead of extend to add configure flags

* Various syntax fixes

* Switched string checking to method for compatibility
Now using the six library for Python 3 compatibility. Thanks @adamjstewart

* Made MPI variant default
2017-07-04 13:56:33 -05:00
Todd Gamblin
b4d1654e68 Parametrized lock test and make it work with MPI
- Lock test can be run either as a node-local test or as an MPI test.

- Lock test is now parametrized by filesystem, so you can test the
  locking capabilities of your NFS, Lustre, or GPFS filesystem.  See docs
  for details.
2017-07-04 11:41:37 -07:00
Todd Gamblin
bd7a591df1 Make filesytem more resilient to concurrent updates.
- Uses O_CREAT for touch (for guaranteed atomic open on NFS, multi-node)
- Ignore concurrent create errors in mkdirp
2017-07-04 11:41:37 -07:00
Todd Gamblin
326e2f7f66 Ported lock test to pytest. 2017-07-04 11:41:37 -07:00
Kshitij Mehta
81d696cc66 mpix-launch-swift: MPIX_Launch library tailored to work using swift-t (#4656) 2017-07-03 18:10:06 -07:00
Mark Olesen
f49f7b5bc5 add openfoam community packages for adiosWrite (#3726) 2017-07-03 18:00:59 -05:00
Mark Olesen
76b9563dc3 new OpenFOAM June 2017 release: OpenFOAM-v1706 (#4652)
- renamed develop version from 'plus' to 'develop'

- patches now prefixed by corresponding OpenFOAM version number.
  This makes it easier to sort and see what old/junk exists.

- remove MPI_BUFFER_SIZEk env variable (for all openfoam variants).
  The OpenFOAM shell setup addresses this and there is no reason
  to pollute the module environment at this stage.
2017-07-03 17:54:50 -05:00
Levi Baber
245eee7a56 sabre (#4619)
* sabre initial commit, works but test does not

* removing test until I have time to fix it

* sabre: fixing flake8 errors

* sabre: changing to MakefilePackage
2017-07-02 08:31:17 -05:00
Jimmy Tang
f6e2320ef0 Apply patch to allow users to change path of lock file (#4649)
See - https://github.com/Microsoft/CNTK/issues/62
2017-07-02 08:26:23 -05:00
Barry Smith
182554520f PETSc requires metis build with compatible numerical precision (#4654)
Commit-type: bug-fix, portability-fix
Funded-by: IDEAS
Project: xSDK
Time: .4 hours
Reported-by: Stanislav Y Sergienko <ssergien@anl.gov>
2017-07-02 08:09:05 -05:00
Andrey Prokopenko
77527ce1ae Trilinos: add ForTrilinos resource (#4660) 2017-07-02 08:05:47 -05:00
Michael Kuhn
a88e93852d antlr: Use official sources (#4662)
The tarball used until now is not available anymore.
2017-07-02 08:05:09 -05:00
Michael Kuhn
51ee9a1a6b Update go and go-bootstrap (#4664)
* go-bootstrap: Update to 1.4-bootstrap-20170531

Clean up empty patch method.

* go: Update to 1.8.3
2017-07-02 08:02:27 -05:00
Michael Kuhn
a3765d8a23 shared-mime-info: Depend on pkg-config (#4663) 2017-07-01 12:12:29 -05:00
Michael Kuhn
a9c83d64f0 qt: Update to 5.9.1 (#4661)
5.9.0 fails to build with disabled OpenGL.
2017-07-01 09:16:49 -05:00
Adam Moody
4dc79f9efb mpifileutils: update to v0.7 (#4642)
* mpifileutils: update to v0.7

* mpifileutils: disable --enable-experimental in v0.6 and earlier

* mpifileutils: list newest version first, avoid experimental switch unless at v0.7 or later
2017-06-30 11:53:47 -05:00
Michael Kuhn
2e6a735b00 mvapich2: Fix mpifort wrapper (#4650) 2017-06-30 11:51:07 -05:00
Mark Olesen
cabcfb032f update libdrm version (fixes #4645) (#4646) 2017-06-30 06:48:43 -05:00
Adam J. Stewart
9933d759ac Update hdfgroup packages to new URL structure (#4643)
* Update hdfgroup packages to new URL structure

* Update docs now that HDF5 URL isn't that complicated
2017-06-29 21:38:47 -05:00
George Hartzell
35488e04a0 Helper script support JAVA_{ARGS,OPTS} (#4640)
Make it possible to pass addition arguments to the
JVM.

Apparently there are two vars and they are [commonly *both* used][1].

Go figure.

[1]: https://stackoverflow.com/questions/23507639/is-it-same-mean-java-args-and-java-opts
2017-06-29 15:38:12 -05:00
Douglas Duckworth
7d59197b7b added numpy 1.13 - modified albacore to use 1.13 (#4639)
* albacore 1.24 requires numpy 1.13 - added numpy 1.13

* added numpy 1.13
2017-06-29 13:42:56 -05:00
George Hartzell
c416983e5f Add package for lftp (#4634)
* Add package for lftp

* Avoid expensive list processing
2017-06-29 09:27:18 -05:00
Douglas Duckworth
bdb859f1e1 added albacore 1.2.4 (#4637) 2017-06-29 06:42:43 -05:00
Thierry
dd4fa07de9 make yorick extendable. See plugins on D Munro github. (#4631) 2017-06-28 14:14:24 -05:00
Audrey Thoma
d354289b9c New package allpaths-lg (#4632)
* allpathslg: adding package. compiler specs iffy, will fix

* allpaths-lg: adding new package

* allpaths-lg: fixing conflicts
2017-06-28 14:14:12 -05:00
Darach Golden
6550aeeafc Requested changes related to mumps compilation (#4614)
*  * add mpii* wrappers for use with intel compilers

 * in mumps package, scotch is compiled without metis option when
   ptscotch variant is selected. This removes confusion over which
   metis.h to use

 * for intel mkl, add SPACK_COMPILER_EXTRA_RPATHS ending in 'intel64'

 * scotch lib requires libz when compression is turned on.  This
   caused a link issue on some Ubuntu distributions (not
   redhat). Change Scotch package to add -lz when needed

*  * intel-mkl append to SPACK_COMPILER_EXTRA_RPATHS rather than setting

 * use more concise method to obtain libz libraries for scotch

* remove changes to intel mpi

* remove commented out depends_on

* fix flake8 errors
2017-06-28 13:22:18 -05:00
Mark Olesen
e5c665600c new package for KaHIP (#4613) 2017-06-28 13:15:43 -05:00
EmreAtes
898c7f8838 add mpi to providers to remove virtual package error (#4608) 2017-06-28 12:24:29 -05:00
Kyle Fernandes, né Jacobs
cd1322b2c9 Update intel-parallel-studio and intel packages (#4628) 2017-06-28 11:32:25 -05:00
George Hartzell
00ec64150e Add package for primer3 (#4615)
* Add package for primer3

Built and mildly tested on CentOS 7.

* Convert to MakefilePackage

I always forget about this...

* Set build_directory the easy way

Life's not always complicated.  Don't go out of my way
to make it so....

* Fix Flake8 issue
2017-06-28 10:48:21 -05:00
George Hartzell
d24e4e311a Add package for muscle (#4616)
* Add package for muscle

Minimally tested on CentOS7.

* Convert to MakefilePackage

Do it the easy way...
2017-06-28 10:47:48 -05:00
Audrey Thoma
e98662959e beast2: adding new package beast2 (#4617) 2017-06-28 10:17:45 -05:00
George Hartzell
6ff7dde9a5 Add package for ngmlr (#4618)
Minimally tested on CentOS 7.
2017-06-28 10:17:17 -05:00
Audrey Thoma
6480e38217 angsd: adding package angsd (#4620) 2017-06-28 10:15:00 -05:00
Christoph Junghans
ddb0704028 pegtl: version bump (#4621)
* pegtl: version bump

* pegtl: added 2.1.4

* pegtl: reorder versions

* pegtl: fix flake8
2017-06-28 10:13:49 -05:00
Jon Rood
158f99f9ad Return an error exit code if spack cd does not succeed. (#4623)
* Return an error exit code if spack cd does not succeed.

* Reducing amount of return statements in spack cd exit code.
2017-06-28 06:41:04 -05:00
Christoph Junghans
8f9f0ab8ec vpic: new package (#4624) 2017-06-28 06:35:55 -05:00
becker33
b1861b29ef Added install option to read spec from file (#4611) 2017-06-27 12:27:16 -07:00
Douglas Duckworth
7b0d295a4c Added STAR-Fusion (#4380)
* added perl-star-fusion and perl-intervaltree

* added perl-star-fusion and all dependencies

* changes

* made changes as requested to perl-star-fusion dependencies

* changed perl-intervaltree dependency

* changes to star fusion

* now using perl properly
2017-06-27 13:53:58 -05:00
serbanmaerean
77218b1c8d Fix xl/trilinos (#4607)
* Added magma package

* Incorporated Serban's change

* fix-xl/trilinos: add -qfixed to Fortran flags in seacas package

* fix-xl/trilinos: fixed spack flake8 errors
2017-06-27 06:40:38 -05:00
Mark Olesen
051d15f777 BUG: inconsistent -fPIC causes adios/mxml linkage problem (fix #4605) (#4606)
- Thanks to pointer from @adamjstewart - can avoid this either by
  avoiding an external mxml dependency, or by making certain that they
  both use consistent code generation.

  The adios package uses '-fPIC' for python linkage and this seems to
  require the same for mxml too. If the adios-internal version of mxml
  is used, it has the same flags for both.
2017-06-27 06:34:52 -05:00
Douglas Duckworth
351f0e2e16 added py-multiqc and dependencies (#4381)
* added py-multiqc and dependencies

* added requested changes per #4381

* added colormath dependency per https://github.com/jsvine/spectra/blob/master/requirements.txt

* py-multiqc changes

* py-multiqc does not need colormath - spectra does
2017-06-26 16:05:15 -05:00
Lynn Garren
575ee41413 update for clhep (#4588)
* adding clhep 2.3.4.4, etc and modernizing package.py

* add remaining 2.3.x.y clhep releases

* setting list_depth to 1 is sufficient

* remove whitespace
2017-06-26 16:04:36 -05:00
Mark Olesen
767cdf98d3 Cleanup some depends_on flex for scotch and things depending on scotch (#4600) (#4601)
- The buggy flex-2.6.2 was blacklisted in the corresponding flex
  package, but now also removed the md5sum to avoid suggesting that
  this version should be revived.
  The 2.6.3 has similar problems (at least for scotch), but 2.6.4
  seems to work.

- Rejig flex restriction for scotch to exclude 2.6.2-2.6.3 only. Since
  flex-2.6.4 appears to be okay again, we can remove the flex version
  restriction that trickled through into the openfoam packages as a
  consequent of an spack spec bug.

- Make flex a build dependency for the openfoam packages
  (seems to have been an earlier oversight).
2017-06-26 09:58:02 -05:00
Adam J. Stewart
ad1382e664 Don't immediately raise an error when an editor is not found (#4587)
* Don't immediately raise an error when an editor is not found
* If no editor is found, raise an error only if we try to use it.
2017-06-25 20:42:38 -07:00
Michael Kuhn
1d82ccd25c Update libbson and libmongoc to 1.6.3 (#4599) 2017-06-25 07:09:47 -05:00
Adam J. Stewart
e5ce7b1639 Allow arbitrary Prefix attributes (#4591)
* Allow arbitrary Prefix attributes
* Test attribute type as well

* Flake8 fixes

* Remove __new__ method

* Fewer uses of join_path in the docs
2017-06-24 22:39:31 -07:00
Todd Gamblin
cac4362f64 Make LICENSE recognizable by GitHub. (#4598) 2017-06-24 22:22:55 -07:00
Christoph Junghans
add971e416 votca-xtp: new package (#4597) 2017-06-24 22:34:15 -05:00
Rajeev Jain
e8f60629fc Add cgm to moab, for resolving conflicts installing MeshKit on a brand new machine. (#4596)
Use spack install meshkit ^cgm+oce, for geometry engine support, by default cgm is facet-based
2017-06-24 15:34:14 -05:00
Massimiliano Culpo
b7ca7274b8 mv variants: packages are now needed only during normalization (#4129)
* mv variants: packages are now needed only during normalization

The relationship among different types of variants have been weakened,
in the sense that now it is permitted to compare MV, SV and BV among
each other. The mechanism that permits this is an implicit conversion
of the variant passed as argument to the type of the variant asking
to execute a constrain, satisfies, etc. operation.

* asbtract variant: added a new type of variant

An abstract variant is like a multi valued variant, but behaves
differently on "satisfies" requests, because it will reply "True"
to requests that **it could** satisfy eventually.

Tests have been modified to reflect the fact that abstract variants
are now what get parsed from expressions like `foo=bar` given by users.

* Removed 'concrete=' and 'normal=' kwargs from Spec.__init__

These two keyword arguments where only used in one test module to force
a Spec to 'appear' concrete. I suspect they are just a leftover from
another refactoring, as now there's the private method '_mark_concrete'
that does essentially the same job. Removed them to reduce a bit the
clutter in Spec.

* Moved yaml related functions from MultiValuedVariant to AbstractVariant.

This is to fix the erros that are occurring in epfl-scitas#73, and that
I can't reproduce locally.
2017-06-23 13:36:29 -07:00
Mark Olesen
6c1c290a63 relax qt dependency for paraview (#4592)
- previously restricted everything to QT-4, but now only have that
  restriction for older paraview versions.
2017-06-23 12:41:29 -05:00
Mark Olesen
2126c03a28 update for new version: qt-5.9.0 (#4590) 2017-06-23 11:41:44 -05:00
Massimiliano Culpo
087b3885f9 cp2k: added missing macros to the makefile (#88) (#4589) 2017-06-23 11:14:01 -05:00
Jimmy Tang
7fb9c3903f Minor fixes to CNTK package (#4429)
* Remove unneeded patch lines which fail for the most recent CNTK version on the head of the git repo

* Really check for NVML/GDK

* Fix some violations
2017-06-23 09:18:50 -05:00
Milton Woods
a4de317737 Gtkplus icons (#4511)
* gtkplus: set XDG_DATA_DIRS

* shared-mime-info: database of common MIME types

* gtkplus: needs shared-mime-info for correct handling of stock icons

* shared-mime-info: builds with newer intltool than provided by some platforms

* atk: set XDG_DATA_DIRS at run-time

* gdk-pixbuf: set XDG_DATA_DIRS at run-time

* gtkplus: set XDG_DATA_DIRS at run-time

* pango: set XDG_DATA_DIRS at run-time

* shared-mime-info: set XDG_DATA_DIRS at run-time
2017-06-23 09:01:09 -05:00
David Böhme
e27ccac4a5 caliper: Update caliper package (#4532)
* caliper: Update caliper package

* caliper: Explicitly enable/disable cmake options for all variants

* caliper: Fix flake8 warnings

* caliper: Modify defaults for Mac

* caliper: Fix some more flake8 warnings
2017-06-23 08:59:59 -05:00
iulian787
75b8d728bd Moab 5.0 and meshkit 1.5 (#4557)
* enable some of the tools

do not make zoltan default

* modify moab package

add shared, debug options to cgm, too
build some tools by default (mbsize, mbconvert)
add hdf5, netcdf dependency
add pnetcdf variant (dependency), metis, parmetis, zoltan
add shared, debug, fortran options to moab

* few kinks for moab

zoltan should be built without fortran api, otherwise moab
complains (need to fix)
also, notice that when built with cgm, shared can't find
cgm libraries for the new tools/geometry execs

install in serial for the time being (because of example makefile
duplicate?)

for example, these builds are successful:
spack install moab+mpi+hdf5+zoltan ^mpich@3.2
spack install moab+mpi+hdf5+shared ^mpich@3.2

* force hdf5+mpi if both are specified

also, something like this works:
spack install  moab+mpi+hdf5+cgm ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2

use mpich32, and cgm built with oce 0.17.2

* forgot about irel, fbigeom, mbcoupler

* add meshkit package

simple build so far, moab and cgm deps only

also, an example of complex build for cgm
spack install  moab+mpi+hdf5+cgm+irel+fbigeom ^mpich@3.2 ^cgm+oce+mpi ^oce@0.17.2

* for meshkit, moab needs to have irel, fbigeom

* forgot to self.spec

after building moab with cgm with oce 0.17.2, we can build
meshkit with something like this
spack install meshkit ^moab/tsb75zk

cgm depencency is found out from moab

moab has to be built with irel and fbigeom

* add netgen package and review

do not support yet older versions of meshkit
(which depend on lasso, etc)
add netgen package; tested with meshkit (netgen has to be built without
occ, for meshkit)
We are not enforcing that yet, we may have to test

* use conflicts where needed, suggested by review

remove release candidates

* flake8 alignment errors

* flake8

* reviews

flake8 alignment
explicit options, even for default variants
variant for netgen should be "gui", with the default ~gui (False)
FIXME: with-occ does not work right for netgen ; maybe it should be disabled?
       also, with +gui, it should depend on a lot more, like tk, tcl?

* flake8 issues

whitespaces and a comment in netgen

* add more explicit options

--without-mpi needs fixing for cgm, moab and meshkit
add variable url for netgen (although we don''t know if other
versions will appear)

* flake8, trailing whitespace
2017-06-23 08:53:43 -05:00
Andrey Prokopenko
811ea4f465 ninja-fortran: a Fortran-capable fork of ninja build tool (#4539)
* ninja-fortran: a Fortran-capable fork of ninja build tool

* Use url_for_version for clarity

* Clean ninja-fortran

* Cleanup in the original ninja package
2017-06-23 08:52:57 -05:00
Adam J. Stewart
3e087f2e25 Remove test dependencies from Python packages (#4572)
* Remove test dependencies from Python packages

* Make test deptype more clear for a couple more packages
2017-06-23 08:51:45 -05:00
Geoffrey Oxberry
1d741a2110 suite-sparse: add openmp variant (#4563)
Fixes #4549.
2017-06-23 08:50:49 -05:00
Mark Olesen
b741809bb2 BUG: flex+lex fails with lib64/ installation (issue #4583) (#4584)
- new version 2.6.4 as well
2017-06-23 08:45:17 -05:00
Audrey Thoma
8125780b86 New package augustus (#4586)
* augustus: adding augustus

* augustus: fixing flake8 things

* augustus: simplifying verbose
2017-06-22 16:00:43 -05:00
Adam J. Stewart
a803a5e986 Add latest version of libtiff (#4574) 2017-06-22 12:52:23 -05:00
Adam J. Stewart
6d9494f0d2 Add latest version of libmng (#4575) 2017-06-22 12:52:02 -05:00
Stas Sergienko
6aa3d51939 created py-tomopy package and fixed its dependencies (#4576)
* added py-tomopy package

* fixed dependencies and added import_modules

* edited deps for tomopy with import_modules and added py-olefile pkg

* changed module name

* changed dependency to python because it will not build with setuptools

* fixed dependency list for py-tomopy and py-dxchange

* added py-nose dependency

* fixed tests

* commented out dependency py-counter

* fixed dependency py-pybtex-docutils

* removed nose as a dependency

* fixed flake8 errors

* fixed import_modules

* fixed import_modules indent

* fixed various issues in tomopy and deps files
2017-06-22 12:51:51 -05:00
Audrey Thoma
3c8e65f3d8 New package albert (#4568)
* albert: adding new package albert

* albert: fixing dependency type and build process
2017-06-22 11:12:37 -05:00
Audrey Thoma
2fa918f32c gmap-gsnap: adding gmap-gsnap package (#4570) 2017-06-22 11:12:19 -05:00
Mark Olesen
ff26cb9723 Update for paraview 5.4.0 (#4582)
- paraview 5.2.1 -> 5.4.0 supports both Qt4 and Qt5, but the assumed
  default version changes between versions. So explicitly define
  which QT major version is being used.
2017-06-22 09:29:19 -05:00
becker33
689c1d2f0c fix issue #4577 (#4579) 2017-06-21 18:33:11 -05:00
becker33
a113101126 Module cmd fix (#3250)
* Parse modules in a way that works for both lmod and tcl

* added test and made method more robust

* refactoring for pythonic clarity

* Improved detection of 'module' shell function + refactored module utilities into spack.util.module_cmd

* Improved regex to reject nested parentheses we are not prepared to handle

* make tests backwards compatible with python 2.6

* Improved regex to account for sh being aliased to bash and used in bash module definition on some systems

* Improve test compatibility with lmod

* Added error for None module_cmd

* Add test for get_module_cmd_from_which()

Add test for get_module_cmd_from_which().
Add -c argument to Popen call to typeset -f module in get_module_cmd_from_bash().

* Increased detection options

Included BASH_FUNC_module() variable outside of typeset as a detection option
This should work on bash even in restricted_shell mode
Kept the typeset detection as an option in case the module function is not exported in bash

Also added try statements to tests, with environment recreation in finally blocks.

* More tests added; some hackiness

* increased test coverage for util/module_cmd
2017-06-21 09:58:41 -07:00
Massimiliano Culpo
59b66b0d27 mumps: fixed compilation issues due to scotch not found at link time (#4567) 2017-06-21 11:36:18 -05:00
Mark Olesen
1f2e56e1f3 refactor openfoam packages (#3669)
* Several improvements for the openfoam packages

--

Refactor openfoam packages by adding an OpenfoamArch class

Use separate configure, build, install phases.

Provide FOAM_PROJECT_DIR dependent env for openfoam packages
- easier way to locate

Eliminate intermediate installation directories
- unneeded clutter.
- makes it less than easy to find the etc/bashrc file

Add versioning for all openfoam patches
- no certainty which parts (if any) will be needed in future versions,
  especially if we strive to ensure that the upstream version builds
  well with spack to begin with.

Support build of develop branches
- helps track build regressions for future openfoam releases

STYLE: use common/ and assets/ to provide additional (build) resources ...

* - adjust OpenFOAM provider

Move openfoam-com up front since this is the one being used as a base
for the others
2017-06-21 11:35:31 -05:00
Audrey Thoma
b1fceb75d0 Andi and libdivsufsort (#4559)
* andi: adding andi and libdivsufsort

* andi: adding andi and dependency libdivsufsort

* andi: adding andi and dependency libdivsufsort

* andi: fixing autotool dependency types

* andi: fixed whitespace to make flake8 compliant
2017-06-21 10:51:05 -05:00
Jonathan Wong
cb87edf230 Modified ipopt package to support build on ppc64le (#4561)
Added line in package.py to patch using ipopt_ppc_build.patch. The patch simply adds support in config.guess and Ipopt/config.guess to build ipopt on ppc64le.
2017-06-21 06:47:06 -05:00
Mark C. Miller
2525363c11 adding H5Z-ZFP; updating zfp to use choice variant for bit stream word size (#4466)
* adding H5Z-ZFP; updating zfp to use choice variant for bit stream word size

* fixing homepage url

* removed fortran error message...just build fortran if can, otherwise ignore
2017-06-21 06:46:14 -05:00
Jim Eliot
7c0a759a26 Fix for SAMRAI build debug spec bug (#4564) (#4565) 2017-06-21 06:38:27 -05:00
serbanmaerean
0fe9cb5d1c FFTW: remove search for IBM XL threaded compiler when compiler is not gcc (#4187)
* Added magma package

* Incorporated Serban's change

* fftw: patch configuration file to remove search for xlc_r compiler
when compiler not gcc

FFTW assumes there are only 2 compilers: gcc and IBM XL.  When
building threaded fftw, the configuration file is looking for
the threaded IBM XL's xlc_r compiler when the compiler is not gcc.
The PGI compiler is not gcc.
2017-06-20 16:47:24 -05:00
Audrey Thoma
bcb8615fb0 Add abyss package (#4555)
* abyss

* abyss: deleting attemped test from script

* abyss: adding new package abyss

* abyss: partially fixing mpi dependency issue

* abyss: added mpi provider conflicts
2017-06-20 16:34:42 -05:00
Christoph Junghans
12113c41e4 Features/votca (#4556)
* votca-csg: needs non-mpi version of gromacs

* votca-csg: fixed deps

* votca-moo: new package

* votca-ctp: new package

* votca-ctp: make flake8 happy
2017-06-20 15:34:17 -05:00
George Hartzell
e5560dfbde fontconfig should depend on gperf (#4551)
* Include depends_on for gperf

Sometime around 2.12.2 fontconfig acquired a build-time
dependency on `gperf` (this commit, I think:
59fd9960bbb58fd6257adb13ec0f918882149332).

This adds the dependency.

`gperf` is called in the `src/Makefile`, see line 907 of
`src/Makefile.in`.

* Only depend_on gperf if @2.12.2:

The gperf dependency *seems* to only be required when @2.12.2:.

Earlier releases do not check the arg type of the gperf lookup
function (which requires gperf) and are able to use pre-generated
files so gperf is not required at build time.
2017-06-20 12:46:49 -05:00
Mark C. Miller
ca9e6576db Fix veclibfort for gcc (#4548)
* fixes #967

* Version bump to 0.9.1

- Bugfixes for spack find
- 0.9.1 can read specs from current develop.

* Don't assume spack is in the path when building docs.

* fixing Makefile override of PREFIX and install w/gcc-6
2017-06-20 09:59:40 -05:00
Stas Sergienko
229886aa8f added py-dxchange and its dependencies dxfile,edffile,spefile,tifffile (#4534)
* added py-dxchange and its dependencies dxfile,edffile,spefile,tifffile

* fixed https in homepage of py-dxfile
2017-06-19 16:26:37 -05:00
Adam J. Stewart
9b89272ae0 Various updates to wget and dependencies (#4116)
* Various updates to wget and dependencies

* Add newer version of gnutls
2017-06-19 15:13:18 -05:00
Adam J. Stewart
cf2178f416 Overhaul CONVERGE installation and concretization (#4397) 2017-06-19 10:18:48 -05:00
Diana Bite
b12c0e0f87 fontconfig: Update to latest stable release (#4543) 2017-06-19 10:02:30 -05:00
Todd Gamblin
04af95c69a Add Slack info to READMEmd (#4542)
- Added a badge to show who's online.
- Added a section under "Get involved!"
2017-06-19 01:00:40 -07:00
Todd Gamblin
d1f176541d Update README.md and add analytics. (#4537) 2017-06-17 19:37:33 +02:00
Andrey Prokopenko
cbdee5faf7 votca-csg: fixing develop url (#4536)
Fix #4525.
2017-06-17 09:32:14 -05:00
becker33
541496dfe1 System config (#4518)
* Code changes to enable system config scope in /etc

Files will go in either /etc/spack or /etc/spack/<platform>
Required minor changes to conftest.

* Updated documentation to match new config scope
2017-06-16 12:31:56 -07:00
Stas Sergienko
5c01fadc59 Added py-pybtex package (#4507)
* Added py-pybtex package

* added more dependencies to py-pybtex

* added run to py-latexcodec dependency
2017-06-16 12:45:30 -05:00
John Roberts
4bd05d0c52 Py ase (#4517)
* py-ase: Adding python package py-ase.

* py-ase: Adding Python package py-ase.

* py-ase: Shortened package description.

* py-ase: Splitting package description to multiple lines to avoid char count max.

* py-ase: Removing trailing whitespace. Local flake8 tests passed now that flake8 is working for me.
2017-06-16 12:44:12 -05:00
Stas Sergienko
09ff2afb78 added py-sphinxcontrib-bibtex and py-pybtex-docutils packages (#4520)
* added py-sphinxcontrib-bibtex and py-pybtex-docutils packages

* added dpendency py-ordereddict
2017-06-16 12:42:36 -05:00
Kyle Fernandes, né Jacobs
a8919b07ca Update intel* packages (#4528)
* Update intel-*  packages

* Update intel package
2017-06-16 12:18:25 -05:00
David Böhme
04c2a1caf4 Update Scalasca/Score-P/Cube/OTF2 (#4485)
* Update Scalasca/Score-P/OTF2/Cube. Should fix #4349#

* cube: Fix flake8 warnings

* cube, scalasca: Fix version range syntax for deps

* otf2: Fix version URL generation

* cube: Remove static URLs
2017-06-16 11:45:06 -05:00
Adam J. Stewart
60db73a3f5 Fix OpenMPI CUDA support (#4323)
* Fix OpenMPI CUDA support

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

* Fix PGI and CUDA 7 support
2017-06-16 10:00:19 -05:00
Milton Woods
f6e3ad4d90 py-pillow: ensure that RPATH includes graphics libraries (#4522) 2017-06-16 08:43:18 -05:00
iulian787
fe7bf77afe oce changes for cgm (#4514)
* oce changes for cgm

cgm can be configured with oce, but oce needs
to have X11 enabled, because some libraries
(like TKCAF in occ/oce) gets built only of X11 is NOT disabled
so introduce a variant +X11 for oce, which is needed when
configuring cgm with oce(+X11)

* follow up review

simplify by removing the patch and different url paths
use append instead of extend, when necessary
make mpi true by default

X11 dependency is still to be addressed; it pulls in some opengl
library (on laptop nvidia seem to work, on virtual linux machine
mesa was good enough)
2017-06-16 08:29:59 -05:00
Todd Gamblin
790b06e0c3 bugfix: support EDITOR values with spaces (#4523)
- previous code called `which` on $EDITOR, but that doesn't work for
  EDITORs like `emacs -nw` or `emacsclient -t -nw`.

- This patch just trusts EDITOR if it is set (same as previous
  behavior), and only uses the defaults if it's not.
2017-06-16 14:03:21 +02:00
Massimiliano Culpo
8b5e94976d issue 4492: DependencyMap.concrete checks for unconditional dependencies (#4499)
* issue 4492: added xfailing test, added owner to DependencyMap

* DependencyMap.concrete checks if we have unconditional dependencies

This fixes #4492 and #4107 using some heuristics to avoid an infinite
recursion among Spec.satisfies, Spec.concrete and DependencyMap.concrete

The idea, as suggested by @becker33, is to check just for unconditional
dependencies. This is not covering the whole space and a package with
just conditional dependencies can still fail in the same way. It should
cover though all the **real** packages we have in our repo so far.
2017-06-16 12:41:15 +02:00
Mario Melara
da67ee9790 Fix tests on cray (#4298)
* Check for CRAYPE_VERSION instead of path

Architecture tests would fail on Cray since it would not find
the expected path. To make the test correctly work on Cray search
for the CRAYPE version instead.

* Catch SystemExit error in case flake8 not in path

On shared systems having flake8 can involve starting own virtual env.
Skip the test if no flake8 is found to avoid failure reporting.

* Add compatibility to 1.5 svnadmin create

The flag added is needed to correctly create svn repos on NERSC systems.
This could be unnecessary for other sites. I'd like to see others
test before this change gets merged.
2017-06-15 15:16:14 -07:00
Stas Sergienko
c102be2144 Added package py-oset (#4500)
* Added py-oset package

* Added package py-oset

* changed homepage url
2017-06-15 13:50:48 -05:00
Stas Sergienko
503efb8881 added py-latexcodec package (#4509)
* Added py-latexcodec package

* removed url line from the file
2017-06-15 09:46:44 -05:00
Stas Sergienko
080314c68e added py-counter package (#4510) 2017-06-15 09:45:27 -05:00
Diana Bite
a9a7805626 openblas: Fix build on aarch64. (#4487)
- invoke make with the correct TARGET for aarch64
- foforce PILERDRIVER as openblas cannot correctly detect CPU on aarch64
- update url to more recent version
2017-06-15 06:38:24 -05:00
Adam J. Stewart
41e4a034ff Add latest version of JDK (#4317)
* Add latest version of JDK

* Use a more specific URL to get curl to work

* Remove failing unit test
2017-06-15 12:40:55 +02:00
Adam J. Stewart
dc911661ca Add missing doc variant to fenics package (#4473) 2017-06-15 12:35:56 +02:00
Mark C. Miller
27e6e8715e Adding initial AMReX package (#4467)
* adding initial amrex package

* adding missing fortran variant predicate

* adjusting description text

* adjusting as per @tgamlin guidance
2017-06-15 12:27:52 +02:00
Stas Sergienko
336e3e6a89 Added py-pywavelets package (#4496)
* Added py-pywt  package

* passes flake8 test

* renamed py-pywt to py-pywavelets
2017-06-15 11:51:52 +02:00
Todd Gamblin
8c2447272e Fix dashes in variant parsing (#4498)
- Skip spack flake8 test when flake8 is not installed.
- Fix parsing of dashes in specs broken by new help parser.
    - use argparse.REMAINDER instead of narg='?'
    - don't interpret parts of specs like -mpi as arguments.
2017-06-15 11:32:55 +02:00
Jon Rood
6762714302 Nalu requires Trilinos with Exodus support (#4505)
* Disabling Exodus in Trilinos by default.

* Returning default of Exodus to true in Trilinos.
2017-06-15 11:31:03 +02:00
Adam J. Stewart
e627447417 Prefer vim to vi for default editor (#4230)
* vim > vi
* Allow which to accept multiple args
* Update __init__ to use which with multiple args
* Fix doc tests
2017-06-15 11:27:18 +02:00
Adam J. Stewart
ce11e78530 Add h5utils package (#4506) 2017-06-14 15:41:42 -05:00
Alicia Klinvex
f732598f51 Fix tpetra-related xsdk errors (#4501)
* Fix tpetra-related xsdk errors

Recent changes to the trilinos package broke the xsdk build.
xSDK explicitly disables tpetra, but packages depending on it
(such as ifpack2 and amesos2) are explicitly enabled by default
in the trilinos package.  This commit explicitly disables them
within the xsdk package.py.

* Disabled exodus in the xsdk build

See issue #4502 for details
2017-06-14 13:56:24 -05:00
Luigi Calori
daa5cf7e73 fix intltool_sbang issue #4191 (#4192)
* fix intltool_sbang issue #4191

* add per dep even if already depending on perl-xml-parser

* adding more comment, properly spaced
2017-06-14 13:24:01 -05:00
Michael Kuhn
1ec3c14d23 Improve qt (#4309)
- Introduce an opengl variant that is enabled by default. Disabling it
  allows building qt for X forwarding etc.
- Depend on fontconfig and freetype to make use of system fonts.
  Otherwise qt can not find any fonts.
- libx11 is required when libxcb is used.
- Set MAKEFLAGS to parallelize qmake compilation.
2017-06-14 13:13:39 -05:00
Nicolas Richart
f06c23ef42 Adding package namd (#4321)
* Initial version of the namd package

* Modified charm to consider compile against intel/intel-mpi

* Correction of namd to compile with intel-mkl and intel compiler

* Adding inclue64 in the prefix

* adding property for the build directory

* removing useless function build
2017-06-14 13:11:30 -05:00
Josh Asplund
bc2c4a14c2 Updates rose definition (#4411)
* Adds z3 package

* Adds binwalk package

* Updates spot package definition

* Updates rose package definition

* Modifications for code review

* Fixes string formatting

* Remove python version requirement
2017-06-14 12:43:50 -05:00
Adam J. Stewart
f4f2f25838 Added new package for py-rsa (#4494) 2017-06-14 10:35:10 -05:00
serbanmaerean
0e5fb26dc1 superlu-dist: don't use '_' symbols from BLAS for IBM XL compiler (#4486) 2017-06-14 00:10:51 -07:00
Geoffrey Oxberry
3025f9d303 ipopt 3.12.7 (#4490)
* ipopt: update version to 3.12.7
* ipopt: add +coinhsl option
* ipopt: add +metis option
2017-06-13 18:09:12 -07:00
Geoffrey Oxberry
6af44e63ad coinhsl 2014.01.17: new package (#4482) 2017-06-13 18:03:49 -07:00
Geoffrey Oxberry
56f7c85c93 metis: bugfix: make shared library build portable (#4489)
Fixes #4488. When compiling metis as a shared library, the package
used the syntax `-rpath=`, followed by a path. This syntax is
non-portable, so replace it using Spack's compiler rpath argument
property.
2017-06-13 17:59:25 -07:00
John Roberts
b802524517 visit: Added VisIt version 2.12.2 (#4495) 2017-06-13 18:17:51 -05:00
scheibelp
1e69d9d1a9 Override partial installs by default - part three (#4331)
* During install, remove prior unfinished installs

If a user performs an installation which fails, in some cases the
install prefix is still present, and the stage path may also be
present. With this commit, unless the user specifies
'--keep-prefix', installs are guaranteed to begin with a clean
slate. The database is used to decide whether an install finished,
since a database record is not added until the end of the install
process.

* test updates

* repair_partial uses keep_prefix and keep_stage

* use of mock stage object to ensure that stage is destroyed when it should be destroyed (and otherwise not)

* add --restage option to 'install' command; when this option is not set, the default is to reuse a stage if it is found.
2017-06-13 09:15:51 -07:00
Massimiliano Culpo
9defe2c1c2 espresso: fixed compilation for 6.1 (elpa) and added support for hdf5 (#4483)
* espresso: fixed compilation for 6.1 (elpa) and added support for hdf5

* espresso: addressed items in @davydden review

* espresso: fixed behavior for espresso@:5.4.0
2017-06-13 10:22:12 -05:00
serbanmaerean
df6d8d913b Fix/mumps (#4453)
* Added magma package

* Incorporated Serban's change

* mumps: Fix compiler error with IBM XL

Split the patching between v 5.0.2 and 5.1.1
2017-06-13 08:09:59 -05:00
Michael Kuhn
181fd95057 Fix building shared libraries for gmp (#4464)
If specific compiler flags are set, gmp will not build a shared library,
causing failures further down the line.
2017-06-13 08:06:44 -05:00
Diana Bite
d450e4a93b czmq: Fix invocation when building with clang. (#4479)
Also bump to latest stable version.
2017-06-13 07:43:54 -05:00
Adam J. Stewart
14aa3b63e3 Add list_url for packages from http://ab-initio.mit.edu/ (#4471) 2017-06-12 09:48:20 -05:00
Adam J. Stewart
0de653ff01 Add an installcheck phase to MakefilePackage (#4476)
* Add an installcheck phase to MakefilePackage

* Minor changes to ESMF
2017-06-12 09:47:46 -05:00
Axel Huebl
ab9155eb37 ISAAC Server: Less Strict Deps (#4481)
The dependencies of the server packages were overly strict and pulled in too many dependencies.
This fixes it.
2017-06-12 16:01:17 +02:00
Robert Pavel
f127c4ed27 New Package: bml (#4213)
* New Package: lanl-bml

Added LANL's BML library as Spack Package as dependency for future
packages

* Adjusted lanl-bml versions

Specified current master as develop and added v1.1.0 tagged version

* Renamed lanlbml package to bml
2017-06-11 17:21:51 -05:00
Adam J. Stewart
4db107353e Convert elk to MakefilePackage (#4477) 2017-06-11 18:47:40 +02:00
Milton Woods
a5c6f0412b gcc: use isl@0.14 for gcc@5 (#4474) 2017-06-10 08:16:10 -05:00
Todd Gamblin
c67f647785 Move description to top of spack info (#4475) 2017-06-09 21:02:16 -07:00
Adam J. Stewart
36b8ea2f92 Add default list_url for GitLab, BitBucket, and CRAN (#4439)
* Add default list_url for GitLab, BitBucket, and CRAN

* Fix flake and doc tests
2017-06-09 12:28:39 -05:00
Adam J. Stewart
218992862c Move gpg section of docs to Getting Started (#4446) 2017-06-09 12:27:29 -05:00
Massimiliano Culpo
a3b12a60d1 scala + spark: added legacy versions (#82) (#4461) 2017-06-09 07:15:54 -05:00
Michael Kuhn
23a95de2bd Fix autotools issues (#4463)
Add ACLOCAL_PATH to libtool and pkg-config. Without this, aclocal can
not find the .m4 files.
2017-06-09 07:12:27 -05:00
Denis Davydov
5c5fd4a7e3 add teuchos to Trilinos, update dealii to explicitly require certain packages (#4460) 2017-06-09 07:10:54 -05:00
Adam J. Stewart
85fd8f0b31 Fix url parse offset for SourceForge downloads (#4458) 2017-06-09 08:53:40 +02:00
George Hartzell
a6bbbd4458 Package for mono (#4435)
* First draft package for mono

Mono's vendor'ed boringssl interacts badly with openssl, so
you need to use `cmake~openssl`.

Left to its own devices, it wants to refer to things in
`/usr/share/.mono`.  This doesn't work for installs that don't run as
root, etc...  This package includes a variant to redirect those paths
to `prefix.share`.

* Whitespace/Flake8
2017-06-08 17:55:45 -05:00
Jon Rood
3508909f06 Adding Nalu package. (#4428)
* Adding Nalu package.

* Fixing flake8 stuff.

* Fixing flake8 stuff.

* Reorganizing trilinos package file a little to make it less verbose.

* Reorganizing trilinos package file for more general use as well as use as a dependency of the Nalu package. Setting fpic as default for yaml-cpp and superlu.

* Explicitly stating fpic variants in dependent packages.

* Updating nalu and trilinos package files with suggested changes.

* Fixing formatting issues. Making suggested changes.

* Fixing formatting.

* Reducing amount of explicit variants in Nalu. Adding suggested changes to Trilinos package file.

* Making suggested changes to Nalu package.

* Turning off superlu-dist variant.

* Cleaning up yaml-cpp file.

* Fixing pnetcdf requirements in trilinos.
2017-06-08 17:54:26 -05:00
Gregory Lee
816f4f8b04 fix mfem build for ppc with gcc (#4452) 2017-06-08 10:23:30 -05:00
Howard Pritchard
4e92811939 Open MPI: add 2.0.3 (#4450)
Add Open MPI bug fix release 2.0.3

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-06-07 14:42:49 -05:00
Massimiliano Culpo
69bd119d64 folly: added new package. Also modified double-conversion to use 'pic'. (#4449) 2017-06-07 14:42:15 -05:00
Adam J. Stewart
1b9af88572 Supress output from gpg --version during tests (#4441) 2017-06-07 11:52:28 -05:00
Adam J. Stewart
0bbafb1673 Fix tab completion of Spack subcommands (#4442) 2017-06-07 11:52:07 -05:00
George Hartzell
29090a527a Bug/cctools syscall (#4440)
* Handle missing defn of __NR_memfd_create

Generally SYS_foo is defined to __NR_foo (in sys/syscall.h) which is
then defined to a syscall number (in asm/unistd_64.h).  Certain CentOS
systems have SYS_memfd_create defined to __NR_memfd_create but are
missing the second definition.  This is a belt and suspenders solution
to the problem.

See [this post][syscall] for a nice general description of how these
parts fit together.

[syscall]: https://www.uninformativ.de/blog/postings/2017-02-11/0/POSTING-en.html

* Avoid flake8 warning
2017-06-07 11:51:46 -05:00
Stas Sergienko
8018f6cdf6 Fixed duplicated spec: nag@6.1 line in getting started guide (#4445) 2017-06-07 11:50:56 -05:00
Stas Sergienko
af85014978 Added latest version of image-magick 7.0.5-9 (#4447) 2017-06-07 11:49:39 -05:00
Diana Bite
06e7708728 postgresql: Fix build with threadsafe and add variant. (#4403)
* postgresql: Fix build with threadsafe and add variant.

* postgresql: Convert Package to AutotoolsPackage.

Also add explicit enable flag for +threadsafe variant.
2017-06-07 18:20:17 +02:00
Michael Kuhn
f7b8b75c12 Fix intel-mpi installation (#4438) 2017-06-06 11:24:33 -05:00
George Hartzell
aa51e766cd Add add'l output formats for graphviz (#4431)
* Add add'l output formats for graphviz

Add support for additional output formats to graphviz, including gif,
jpg, pdf, and png.

Graphviz calls its pango+cairo option *pangocairo* so I followed suit.

Libgd was missing jpeg/jpg support.  None of the other supported
formats are conditionalized and there is no --with/--without support,
so I followed suit.

* Fix ghostscript plugin

When I installed thusly:

    spack install graphviz+pangocairo+libgd^cairo+X^pango+X

the ghostscript plugin tripped over some variable names that had
changes in `gs@9.18:`.  This fixes them.

* Remove wayward import of tty
2017-06-06 06:06:36 -05:00
Milton Woods
54cc8dd7fd ncl: cairo and math libraries (#4434)
* ncl: depends on cairo+X (cairo~X is built by default)

* ncl: '-lm' is needed when linking fortran with gcc
2017-06-06 06:05:10 -05:00
Michael Kuhn
08a054afd8 Update bazel to 0.4.5 (#4436) 2017-06-06 05:59:25 -05:00
George Hartzell
baad627944 Need to help Makefile.PL find the expat bits (#4422)
* Need to help Makefile.PL find the expat bits

We need to provide Makefile.PL with a clue about where our
expat bits live.  We had the dependency, but I suspect
that the lib was actually linking against a system version.

* Use prefix.lib instead of building path myself

Ditto with .include
2017-06-05 14:17:12 -05:00
George Hartzell
6b9d485e06 Disable parallel builds for bamutil (#4430)
I've had non-repeatable failures in my CI runs on all three clusters
at the bamutil's step.  In each case there are .o or .so files that
are corrupt or truncated.

I suspect that the homebrewed bamutil Makefile scheme doesn't actually
support parallel builds.
2017-06-05 14:14:49 -05:00
George Hartzell
bfb45ba1ce Tighten up graphviz package (explicitly disable unused languages, etc...) (#4408)
* Tighten up graphviz package

The fun started when configure discovered a broken/partial
installation of `swig` in `/usr/local`, then auto-discovered my
system's python and ruby packages.

- SpackException doesn't seem to exist.  Convert it to a SpackError
  and call `.format(...)` on the error string to fill in the
  placeholder.

- Pull swig out of the list of languages.  It's something that can be
  asked for explicitly and that is needed if *any* of the langagues
  are enabled.  It's disabled by default.

- Explicitly disable the languages that are in "untested_bindings"
  list lest the configure script pick up things from the system.

* Touch up variant description string

* Clean up conditional statement

* Use InstallError, not SpackError

* Drop the swig variant

Get rid of the swig variant and drive that bit based on whether any
languages are enabled.

* Move perl to the untested list

That's not strictly accurate.  I tested it and it doesn't work.

There's a missing depends_on().  When you add that you'll discover
that the language binding bit can't find Perl's 'EXTERN.h'.  Then
you'll discover that graphviz's `configure` script doesn't have a good
way to include the paths to Perl's bits (looks like I'll have to
gather them for each language and then use them to build `CFLAGS` and
`CXXFLAGS` and `LDFLAGS`).  While pondering that, you'll discover that
EXTERN.h is buried down here:

```
opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-35ejv4426dmzreum4ekdibu3ddmhquvi/lib/5.24.1/x86_64-linux/CORE/EXTERN.h
```

and decide that you wish you had never thought to actually test
`graphviz+perl`.

I could find that directory with a snippet like so:

```
perl -MConfig -e 'print "$Config{archlib}\n"'
```

but at this point I'm much, much further down this rabbit hole then I
ever wanted to go.

* Convince python that tested_bindings is a list

When I removed `+perl` and made `tested_bindings` a list of one
thing, I ended up with this:

```
==> Error: cannot concatenate 'str' and 'tuple' objects
```

* Flake8 cleanup

* Don't convert a string to a string

* rm unused () and clarify variable name

Feedback from @adamjstewart

- Get rid of some unnecessary parens.
- Clearer variable name and use.

* Further cleanup of language enabling loop

Now we don't need that pesky temporary variable.
2017-06-05 13:02:39 -05:00
George Hartzell
36d153967b Add package for cctools (#4417)
* Add package for cctools

Add a package for cctools.

Requires the recently submitted "useshrplib" support in Perl (or some
other mechanism to enable -fPIC for perl).

* Delete extraneous import

* Perl's shared variant changed, adapt...

The name of the variant that perl uses to build a shared lib changed and
it now defaults to True.  Use the new name and continue to be insistent
about using the shared variant.

* Flake8 cleanup
2017-06-05 11:41:02 -05:00
serbanmaerean
626aa3a8d0 Bugfix/boost pgi (#4426)
* Added magma package

* Incorporated Serban's change

* boost-pgi: Add support for PGI compiler

There are two patches required:
  (1) general fixes required by PGI
  (2) workaround for a bug in PGI 17.4

Conflicts:
	var/spack/repos/builtin/packages/boost/package.py
2017-06-02 11:44:33 -05:00
George Hartzell
23474be4b0 Add variant to build shared Perl lib (#4416)
* Add variant to build shared Perl lib

Add a variant that enables Perl's "useshrplib" feature, which builds a
shared perl library.

This addresses problems like so:

```
/usr/bin/ld: /blah/blah/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-y43dp3p5w66v7qh5xkwgufxohyuodyew/lib/5.24.1/x86_64-linux/CORE/libperl.a(op.o): relocation R_X86_64_32S against `PL_opargs' can not be used when making a shared object; recompile with -fPIC
/blah/blah/spack/opt/spack/linux-centos7-x86_64/gcc-4.8.5/perl-5.24.1-y43dp3p5w66v7qh5xkwgufxohyuodyew/lib/5.24.1/x86_64-linux/CORE/libperl.a: could not read symbols: Bad value
```

It should also address the Intel compiler issue discussed in #3081
while respecting Perl's configuration machinery.

* Rename shared variant and default to True

* Use correct variant to add configure arg

* Restore bits that set ccflags for intel compilers

After some experimentation we've established that setting
the flag to build a shared perl library is tightly tied to
the use of -fPIC.

This commit restores the code that sets ccflags for
intel compilers.

* Flake8 cleanup
2017-06-02 10:44:01 -05:00
Adam J. Stewart
623e7cb7b6 Add latest version of gnuplot (#4418) 2017-06-02 08:04:47 -05:00
Denis Davydov
bf58524943 astyle: add new versions (#4424) 2017-06-02 08:00:45 -05:00
George Hartzell
d8b6859e7b Add a package for Picard (#4398)
See the discussion about installing jar files in #4386.

Also installs a wrapper script that has explicit references to the
prerequisite java exe and to the jar file in it's final resting place.
2017-06-01 16:13:33 -05:00
George Hartzell
391afa9271 Add packages for clustalw and clustalo (and argtable) (#4412)
* Add packages for clustalw and clustalo (and argtable)

Add packages for the classic multiple alignment package, `clustalw`
and its younger sibling, `clustalo`.

`clustalo` needed the `argtable` package (command line arg parsing).

Lightly tested on CentOS 7.

* Remove FIXME (sigh...)
2017-06-01 12:36:01 -05:00
Tom Merrick
916243b23a Packages/r factoextra (#4410)
* Add mpi support to R

* Add multiple precision math routines to R

* Updated the URL to match the version

* Remove duplicate packages

* Add packages for r-ergm and it's dependents

* Fixed depends-on types

* Correct flake8 errors

* Correct Build type

* r-factoextra and dependents

* Revert "r-factoextra and dependents"

This reverts commit afbf477fd6.

* Add only r-factoextra files
2017-06-01 10:43:51 -05:00
Massimiliano Culpo
489dde1135 travis: fixes failure on six (#4415) 2017-06-01 14:42:33 +02:00
George Hartzell
61f640238b Add a package for Trimmomatic (#4399)
* Add a package for Trimmomatic

See the discussion about installing jar files in #4386.

Also installs a wrapper script that has explicit references to the prerequisite java exe and to the jar file in it's final resting place.

* Fix bad format statement

Apparently something like this "blah{}".format(...) works (it's missing
something inside the curly braces) but fails the travis test.
2017-06-01 09:22:24 +02:00
Nils Deppe
2310e9dac0 Add Catch v1.7.1-1.9.4 (#4406) 2017-05-31 14:11:36 -05:00
Diana Bite
218d55a072 openssl: Fix build on Aarch64 with clang. (#4404) 2017-05-31 06:41:24 -05:00
Axel Huebl
c124fdb7a0 Fix Fetch MariaDB (#4394)
The two given versions of mariadb are not fetchable under the given
URL, probably because older versions are purged and only kept in
an archive.

Add two working, latest revisions of each release line.
2017-05-31 13:37:44 +02:00
Diana Bite
c15f3bc6ff cmocka: Bump version and add checksums (#4405) 2017-05-31 12:48:43 +02:00
Michael Kuhn
665598af1b Fix missing gcc dependency on zip (#4303)
For @:6, java is included in languages=all and requires zip.
2017-05-30 14:59:47 -05:00
Adam J. Stewart
421d8ea316 Make sure py-entrypoints runs its unit tests (#4347) 2017-05-30 14:57:53 -05:00
Axel Huebl
7e3a11b46a ISAAC: Fix CMakeLists.txt Path (#4374)
Somehow the path to `CMakeLists.txt` via the class property
`root_cmakelists_dir` was relative but is now actually relative
to `spack-build/`.

Close 4324 by providing a path relative to the source repo
of the stage via a method instead of a member variable
2017-05-30 14:55:50 -05:00
Adam J. Stewart
d9d5135ec9 Fix spack info bug for Python 3 (#4391) 2017-05-30 13:37:56 -05:00
Adam J. Stewart
336d988cc6 Add every version of OpenMPI (#4372) 2017-05-30 10:16:43 -05:00
Axel Huebl
c23ccb58e1 Package: Wt (#4384)
* Package: libharu (PDF)

C++ PDF generation library, necessary for wt

* Package: WT

Adds `wt` "witty", a Qt-like C++ web framework for GUIs
2017-05-30 09:37:34 -05:00
George Hartzell
8297244446 Add package for vcftools@0.1.14 (#4389)
* Add package for vcftools@0.1.14

The package munges the various perl scripts so that their sbang lines
point to the depended upon perl (perhaps with Spack sbanger in the
dance) instead of relying on `/usr/bin/env perl`.

As it stands it installs its Perl libraries into `prefix/lib` and then
depends on `setup_environment` to prepend that dir onto PERL5LIB.

See my [vcftools issue
80](https://github.com/vcftools/vcftools/issues/80) for a discussion
about fixing its non-functional attempt at isolating itself from
PERL5LIB shenanigans.

* perl dependency should be build/run
2017-05-30 06:59:37 -05:00
Diana Bite
115fec3346 zeromq: Fix invocation when building with clang. (#4395) 2017-05-30 06:57:28 -05:00
Axel Huebl
1b7c29cdfe Fix #3851 xmlto fetch (#4393)
xmlto migrated to https://pagure.io/xmlto
2017-05-30 06:56:44 -05:00
Axel Huebl
d7622b32f1 Close #4388 libaio fetch (#4392)
fetch libaio via the debian mirrors, the same way as archlinux builds
it (from original, unmodified sources):
  https://git.archlinux.org/svntogit/packages.git/commit/trunk/PKGBUILD?h=packages/libaio&id=a8ec32dd3988668809e6c6affe678db04db3fc76
2017-05-30 06:56:20 -05:00
George Hartzell
e3eaba80b1 Ensure Config.pm has correct setting for cc (#4345)
* Ensure Config.pm has correct setting for cc

Run a filter after install so that Config.pm records the compiler that
Spack built the package with.  If this isn't done, $Config{cc} will be
set to Spack's cc wrapper script.

* Also patch compilers Config_heavy.pl

This patch sets ld=gcc, which appears to work.  I'm not sure if
there's a good way to get at the ld that Spack uses.

* Clean up quoting

* Fix pattern for Config.pm

Does not start at beginning of line...
2017-05-29 16:59:30 -05:00
George Hartzell
e31f80988c Add support for an older version of STAR (#4385)
What the user wants, the user etc....

Add info for STAR@2.4.2a.  It's URL looks different, so added a URL for
it.  This broke the URL for the current version, so added a URL for it
also (known bug).

*Minimally* tested on CentOS 7.
2017-05-29 15:47:31 -05:00
George Hartzell
62daeaa525 Add package for bamutil (#4387)
*Minimally* tested on CentOS 7.

Stole the `install_target` bit from zip....
2017-05-29 15:36:18 -05:00
Milton Woods
7ea0e143c5 python: RPATH on Cray (#4209)
* python: ensure that distutils sets valid compiler options for RPATH on cray

* python: add cray-rpath patches for python@2.3:3.0.1 and python@3.1:

* python: in patch(..., when="@a:b platform=c"), limit b must be specified

* python: assume that python@4 will break the cray patches
2017-05-28 09:17:16 -07:00
Denis Davydov
87ebb0fc15 oce: add 0.18.1 (#4376) 2017-05-27 16:35:32 -05:00
Denis Davydov
0b252d5402 tbb: add 2017.6 (#4377) 2017-05-27 16:35:17 -05:00
Denis Davydov
d0d7768b90 Petsc and Slepc -- add new versions (#4378)
* petsc: add 3.7.6

* slepc: add 3.7.4

* hypre: remove whitespace
2017-05-27 16:35:05 -05:00
Douglas Duckworth
f14041d6c1 added STAR aligner package (#4368)
* added STAR aligner package

* fixed flake errors

* PATH NOW WORKS

* STAR install now works

* star install now perfected
2017-05-27 15:02:39 -05:00
Denis Davydov
50e729173b arpack: add 3.5.0 (#4375) 2017-05-27 15:02:25 -05:00
Adam J. Stewart
f9ac965fb9 Document known issue with R concretization (#4313) 2017-05-27 12:51:03 -05:00
eklee15
1b07d949ae Added pgi support for suite-sparse package (#4340)
* Added pgi support for suite-sparse package

* Patch modified

* added 'CFOPENMP={0}'.format(self.compiler.openmp_flag) for -mp flag
2017-05-27 06:49:21 -05:00
George Hartzell
1d80a87996 Fix mummerplot when ^perl@5.20: (#4348)
* Fix mummerplot when ^perl@5.20:

Calling defined() on a hash has been deprecated for ages.  It became
an error in perl@5.20.  If we're building with a perl where it's
illegal, we should fix it.

* Simplify call to filter_file

Treat the first arg to filter_file as a string rather than
a regex, so that we don't have to figure out the escapes.

* Patch mummerplot for *any* perl version.
2017-05-26 22:08:40 -05:00
George Hartzell
248fc92a45 Fix bwa url's (#4366)
* Fix bwa url's

Work around varying github URLs.

See #4365 for details.

* Restore main url entry

@adamjstewart pointed out that the package still needs a main url
so that `spack versions` works.
2017-05-26 22:08:00 -05:00
eklee15
c0fff6722d added -c11 flag for pgi compiler for TSL (#4367) 2017-05-26 22:07:24 -05:00
eklee15
a9feeefdb9 Added pgi support for mumps (#4369) 2017-05-26 22:06:55 -05:00
Adam J. Stewart
e7ad79fbed Add latest version of NCO (#4370) 2017-05-26 22:06:24 -05:00
Adam J. Stewart
d3a82ce632 Fix typo in mod_to_class docstring (#4371) 2017-05-26 22:05:54 -05:00
Adam J. Stewart
6f0ac9d54c Add --configure-args/vars support to RPackage (#4289)
* Add --configure-args/vars support to RPackage

* Docstring formatting change
2017-05-26 16:37:06 -05:00
Ben Boeckel
f38d250e50 gpg: add 'spack gpg subcommand (#3845)
- Add a `spack gpg` subcommand in anticipation of signed binaries.
- GPG keys are stored in var/spack/gpg, and the spack gpg command manages them.
- Docs are included on the command.
2017-05-26 10:31:04 -07:00
George Hartzell
71cc4e2ad1 Add info for jdk@7u80 (not downloadable) (#4363)
* Add info for jdk@7u80 (not downloadable)

Add version info for jdk@7u80.  Oracle does't seem to be
distributing it any longer so there's no reasonable URL to
provide, but for those of us who already have the tarball
this is useful.

* Flake8 cleanup
2017-05-26 10:46:14 -05:00
Nils Deppe
e5f5e98fc4 Add master as install option for yaml-cpp (#4364) 2017-05-26 07:46:11 -05:00
Douglas Duckworth
7bdf7a74af added libdrm 2.4.75 per #4316 (#4359)
* added libdrm 2.4.75 per #4316

* removed 'list_url'
2017-05-25 22:19:59 -05:00
George Hartzell
d13eac310a Add info for fastqc@0.11.4 (#4357)
* Add info for fastqc@0.11.4

* Delete the bamutil package (included by mistake)

The bamutil package was included by mistake, the commit deletes it.
2017-05-25 18:15:19 -05:00
Mark C. Miller
e85113faf6 updating mfem version (#4362)
* updating mfem version

* changing mfem tarball extension to .tar.gz
2017-05-25 18:14:47 -05:00
Denis Davydov
af77f811f2 petsc: fix scalapack error: (#4341)
Specify either "--with-scalapack-dir" or "--with-scalapack-lib --with-scalapack-include". But not both!
2017-05-25 16:23:59 -05:00
eklee15
c7de8d0cdc Added pgi support for superlu-dist package (#4343)
* Added pgi support for superlu-dist package

* added self.compiler.pic_flag
2017-05-25 16:23:26 -05:00
Tom Merrick
794dc50995 Packages/r adegenet (#4354)
* Add mpi support to R

* Add multiple precision math routines to R

* Updated the URL to match the version

* Remove duplicate packages

* Add packages for r-ergm and it's dependents

* Fixed depends-on types

* Correct flake8 errors

* Correct Build type

* r-adegenet and dependent packages
2017-05-25 14:42:49 -05:00
George Hartzell
7055be82b9 Add info for bwa@0.7.12 (#4356) 2017-05-25 14:42:32 -05:00
George Hartzell
d9892c629c Add ant@1.9.6 info (#4350) 2017-05-25 13:31:46 -05:00
George Hartzell
26440accab Touch up string expansion. (#4344)
* Touch up string expansion.

I'm chasing this:

```
$ (module purge; spack install perl %gcc/5.4.0)
==> Error: No installed spec matches the hash: '%s'
```

There's something deeper going on, but the error message isn't helpful.

After this change it tells me this:

```
$ (module purge; spack install perl %gcc/5.4.0)
==> Error: No installed spec matches the hash: '5.4.0'
```

Which is weird because `5.4.0` is not a hash...  Whatever is going on here, the error message needs to be fixed.

* Flake8 whitespace
2017-05-25 13:00:58 -05:00
Adam J. Stewart
53713d57c9 Add older version of CONVERGE (#4346) 2017-05-25 11:29:54 -05:00
Adam J. Stewart
f8a7549f51 Add missing dependency to py-entrypoints (#4330) 2017-05-25 09:49:00 -05:00
Andrey Prokopenko
8e9d905794 Trilinos: add DTK external package (#4304)
* trilinos: add DTK external package

* Making +dtk and ~tpetra conflict
2017-05-25 09:41:11 -05:00
becker33
12ab882eba Fix issues parsing multiple anonymous specs (#4199)
* fix parser
* Removed xfails
* cleaned up debug print statements
* make use of these changes in gcc
* Added comment explaining unreachable line, line left for added protection
2017-05-24 17:13:18 -07:00
Adam J. Stewart
c1cea7ebcf Add latest version of CONVERGE (#4337)
* Add latest version of CONVERGE

* Flake8 fixes
2017-05-24 14:20:13 -05:00
Douglas Duckworth
a0e7169df6 added new R package - r-rgl (#4335) 2017-05-24 10:25:31 -05:00
Adam J. Stewart
315bda3487 Fix PGI version detection: 17.4-0 -> 17.4 (#4251) 2017-05-24 06:57:31 -05:00
Milton Woods
0932b16d4e cairo: ensure that X support is disabled for variant "~X" (#4242)
* cairo: ensure that X support is disabled for variant "~X"

* cairo: explicitly enable X support for +X variant

* cairo: prefer "variant in spec" over spec.satisfies(variant)
2017-05-23 16:43:22 -05:00
George Hartzell
d0a81fda30 Correct installation step for mummer (and dependency) (#4293)
* Trailing whitespace cleanup

* Handcraft an install process for mummer (grumble)

Mummer punts on an installation step, they just build in and run from
the same directory.

Mummer also has various hardcoded paths built into it that allow it to
find other executables that it needs as well as its Perl library.

This updates the package to deal with this approach.

It patches the Makefile and scripts/Makefile so that the correct info
is fed to sed when it munges the perl scripts.

The install step is now finer grained and puts things where mummer
relatively wants to find them.

* Add perl dependency

* perl should be build/run dependency

* Fix whitespace

* Delete stray u at top of file
2017-05-23 16:37:33 -05:00
Luigi Calori
929c45916b new package virtualgl (#4297)
* new package virtualgl, depends on mesa-glu but NOT on mesa, so added a variant to mesa-glu

* add comment on mesa variant of mesa-glu
2017-05-23 16:36:48 -05:00
Gregory Lee
785168f5a1 fix build command for caffe with openblas (#4299) 2017-05-23 16:35:42 -05:00
Erik Schnetter
43edcfbf13 opencoarrays: new version (#4271) 2017-05-23 16:30:14 -05:00
George Hartzell
39ac8abbbd Add support for addl versions of bcl2fastq2 (#4328)
Two changes:

- It seems that Illumina version numbers are dotted and that the
  dashed version in the 2.18... filename is an anomaly (based on the
  names for 2.17.1.14 and 2.19.0).  `url_for_version` does the right
  thing for 2.18.  It will need to be fixed when support for 2.19 is
  added.  2.17 is no longer generally available so it gets a pass.

- Add version and hash for 2.17.1.14.

  2.17.1.14 is no longer distributed.  If you have a copy of the
  source tarball, you can drop it into a local mirror w/ the name
  mirror/bcl2fastq2/bcl2fastq2-2.17.1.14.zip and go from there.
2017-05-23 15:37:24 -05:00
Adam J. Stewart
d38e601134 Add latest version of libpciaccess (#4325) 2017-05-23 13:47:06 -05:00
Milton Woods
4553b1400c Magics with eccodes variant (#4320)
* magics: use filter_file to avoid using system python in all versions

* magics: add eccodes variant to switch between eccodes and grib-api
2017-05-23 10:06:59 -05:00
Tom Merrick
1469cfd0e7 Packages/r ergm (#4314)
* Add mpi support to R

* Add multiple precision math routines to R

* Add packages for r-ergm and it's dependents

* Fixed depends-on types

* Correct flake8 errors
2017-05-23 10:05:05 -05:00
Massimiliano Culpo
e89c699c06 plumed: fixed compilation on rhel6 (#4318)
* plumed: fixed compilation on rhel6 with mvapich2 and gcc@5.4.0 (#77)

* plumed: prevent parallel compilation, as it breaks for the newest version
2017-05-23 10:04:23 -05:00
Robert D. French
dd73c98d0e Add Microsoft's C++ Rest SDK (#4315) 2017-05-22 15:15:17 -05:00
Milton Woods
8ab8459397 magics: use spack perl instead of system perl (#4310) 2017-05-22 06:45:24 -05:00
Milton Woods
132b3c56bc qt: patch JavaScriptCore to favour internal pcre headers (#4270) 2017-05-21 18:01:26 -05:00
Michael Kuhn
f9203d4281 libdrm depends on pkg-config (#4308) 2017-05-21 13:34:16 -05:00
Milton Woods
ca2755d532 flex: create variant +lex that creates symlinks for lex and libl.{a,so} (#3894)
* flex: create variant +lex that creates symlinks for lex and libl.{a,so}

* flex: enable variant +lex by default

* flex: use dso_suffix for portability; replace repetitive code with a loop
2017-05-21 08:33:34 -05:00
Massimiliano Culpo
e4a3295c37 spark: remove whitespaces from run_env variable (#4210) 2017-05-20 23:40:59 -05:00
Michael Kuhn
17b2db0bd2 Fix ncview with netcdf+mpi (#4305)
ncview has to be compiled using the same compiler as netcdf.
2017-05-20 20:59:15 -05:00
Michael Kuhn
c741cd900b magics fixes for versions > 2.29.x (#4302) 2017-05-20 09:40:10 -05:00
Erik Schnetter
a32f8c33b0 julia: New version 0.5.2 (#4259) 2017-05-19 17:32:40 -05:00
Erik Schnetter
4b075de9de hwloc: new version (#4272) 2017-05-19 17:32:16 -05:00
Erik Schnetter
eb001e4d5d hpx5: new version (#4273) 2017-05-19 17:31:53 -05:00
Erik Schnetter
ff6ebe30e0 cmake: new version (#4274) 2017-05-19 17:31:20 -05:00
Michael Kuhn
a62bbb6ed8 gobject-introspection depends on pkg-build (#4301) 2017-05-19 17:30:54 -05:00
Adam Moody
efbcdafd30 Mpifileutils (#4283)
* adding mpifileutils

* mpifileutils: add +lustre variant

* mpifileutils: add variant for xattr

* mpifileutils: update to AutotoolsPackage

* mpifileutils: simplify and eliminate redundant make

* mpifileutils: drop unnecessary comments
2017-05-19 17:09:21 -05:00
Michael Kuhn
571a42d614 Fix gcc not finding zlib (#4291) 2017-05-19 12:03:56 -05:00
Douglas Duckworth
8b47fe5a78 added R 3.4.0, again (#4260) (#4294) 2017-05-19 11:55:48 -05:00
George Hartzell
18c7e96624 Fix boost@:1.56.0%gcc@:5 (#4295)
I need boost@1.54.0 for bcl2fastq2.  I tested bcl2fastq2 using the
system compiler (gcc@4.8.5).  My full build uses a spack-build
gcc@5.4.0.

boost@1.54.0 won't build.  I found the answer
[here](https://github.com/hashdist/hashstack/issues/802) with the
details in [this upstream/boost
ticket](https://svn.boost.org/trac/boost/ticket/10125).

I've confirmed that these combo's build:

boost version| compiler
------------ | ------------------
boost@1.54.0 | gcc@4.8.5 (system)
boost@1.54.0 | gcc@5.4.0 (Spack)
boost@1.64.0 | gcc@5.5.0 (system)
2017-05-19 11:55:21 -05:00
Tom Merrick
0bff9c1eb1 Add r-rmpfr and r-gmp to R (#4287)
* Add mpi support to R

* Add multiple precision math routines to R

* Updated the URL to match the version

* Remove duplicate packages
2017-05-19 09:59:35 -05:00
George Hartzell
be356cf707 Add info for libxml2@2.7.8 (#4290)
bcl2fastq2 needs this older version.
2017-05-18 19:02:03 -05:00
kothah
153a63de62 added new version 7.900.1 (#4292)
added new md5
2017-05-18 19:01:40 -05:00
Douglas Duckworth
f72cd79ad1 add mpi support to meme (#4265)
* added openmpi support to meme

* openmpi is a link dependency which leverages r_path

* openmpi support now the default - meme does not have configure argument for mpi - if it's found then it's used

* added serial option and set mpi to not be default

* modified meme
2017-05-18 15:37:47 -05:00
Adam J. Stewart
04ccb8f774 Add old version of ROOT 5 (#4288) 2017-05-18 13:22:09 -05:00
Adam J. Stewart
fa90a65d09 Fix spec['python'].home (#4228) 2017-05-18 12:12:08 -05:00
Tom Merrick
5486d021d6 Add mpi support to R (#4286) 2017-05-18 11:24:40 -05:00
Patrick Gartung
a29921b995 Add the gnupg package and missing dependencies. Update versions of ex… (#4281)
* Add the gnupg package and missing dependencies. Update versions of existing dependencies.

* this ended up in the wrong repo

* put versions back, remove uneeded function

* OK ;)

* autopep8

* typo on npth line

* whitespace
2017-05-18 10:11:27 -05:00
Adam J. Stewart
48588cb1d8 Add a new package for Open Babel (#4256)
* Add a new package for Open Babel

* Add post-installation tests, stolen from the fine folks at Homebrew

* Add patch to fix Python 3.6 support

* Add a more complete patch to get Python 3.6 support working

* Add patch to convert tabs to spaces in test script

testpdbformat.py contains mixed tabs and spaces
causing the unit tests to fail. With this patch,
all tests pass with flying colors.
2017-05-18 10:06:44 -05:00
Erik Schnetter
48eec5fc0f benchmark: New package for the Google Benchmark library (#4194)
* benchmark: New package

* benchmark: Remove empty function
2017-05-17 20:58:32 -05:00
George Hartzell
8eeb63e78e Add info for miniconda[23]@4.3.14 (#4263) 2017-05-17 20:57:48 -05:00
George Hartzell
daaa37c1ff Package for bcl2fastq2 (updates libxslt) (#4234)
* Add v1.1.26 and make crypto a variant

I need 1.1.26 for bcl2fastq2.

I also need to build it without crypto support.

* Initial support for bcl2fastq2

* Clean up commentary, messages, names

No substantial changes intended, just cleanup.

* fix flake8 and extra import

* The masked grammarian strikes again...

* Be normal (messages don't end in periods)

* When +crypto, add --with-crypto

Add `--with-crypto` to configure args when user hasn't explicitly set
`~crypto`.

* self.spec.satisfies is unsatisfying, in is in instead

See #4135, self.spec.satisfies has issues.  @adamjstewart suggests
simply using in.
2017-05-17 20:57:23 -05:00
Todd Gamblin
32c570913d Move doc dependencies to requirements.txt for readthedocs (#4280)
* Move doc dependencies to requirements.txt for readthedocs

* Move sphinx to doc requirements.
2017-05-17 20:45:03 -05:00
Adam J. Stewart
5b527e2c14 Add a new package for sphinxcontrib-programoutput (#4267) 2017-05-17 19:51:15 -05:00
Adam J. Stewart
bb451f967c Add latest version of matplotlib (#4279) 2017-05-17 19:50:50 -05:00
Adam J. Stewart
96560cc11f Add latest version of Sphinx (#4264)
* Add latest version of Sphinx

* Flake8 fix
2017-05-17 18:07:10 -05:00
Todd Gamblin
3e8662aaa7 fix bug with executables setting their own environment. (#4237) 2017-05-17 11:37:06 -05:00
Adam J. Stewart
cafc3cc3ca Sphinx no longer supports Python 2.6 (#4266)
* Sphinx no longer supports Python 2.6

* Update vendored sphinxcontrib.programoutput from 0.9.0 to 0.10.0

* Documentation cannot be built in parallel

* Let Travis install programoutput for us

* Remove vendored sphinxcontrib-programoutput

Recent updates to the sphinx package prevent the vendored version
from being found in sys.path. We don't vendor sphinx, so it doesn't
make sense to vendor sphinxcontrib-programoutput either.
2017-05-17 11:36:02 -05:00
Adam J. Stewart
b630c06773 Sphinx no longer ignores first argument (#4243)
* Sphinx no longer ignores first argument
* Duplicate first argument for maximum compatibility
2017-05-16 14:24:35 -07:00
Adam J. Stewart
de958df3b8 Update checksum for latest version of cudnn (#4254) 2017-05-16 11:42:00 -05:00
Douglas Duckworth
9a4b86cd49 added meme package (#4257)
* added albacore package as well as dependency py-ont-fast5-api

* added py-cutadapt and dependency py-xopen

* made more changes to albacore and cutadapt as well as dependencies

* made changes again per @adamjstewart

* fixed by python n00b errors i think

* fixed?

* tw=79

* made changes to py-ont-fast5-api ont-albacore

* removed bad characters

* albacore requires setuptools as build and run dependency

* added vmd

* added back albacore

* removed vmd package

* added meme software

* libz is only needed as link depedency for meme

* added libxml2 libxslt libgcrypt as link dependencies
2017-05-16 09:42:37 -05:00
Adam J. Stewart
fbc9d5a634 albacore requires setuptools as build and run requirement (#4255) 2017-05-15 15:57:21 -05:00
Adam J. Stewart
9f6c166f2f Add missing dependency to glib package (#4253) 2017-05-15 14:17:28 -05:00
Adam J. Stewart
6a328892d2 Add latest version of util-linux (#4252) 2017-05-15 12:47:03 -05:00
Adam J. Stewart
7864fbfcd3 Remove need for autoreconf in glib package (#4240) 2017-05-15 09:46:19 -05:00
Milton Woods
1ab2077b87 mesa-glu: provides libGLU, the OpenGL utility library from SGI (#4244) 2017-05-14 07:41:00 -05:00
Milton Woods
447d6f6602 harfbuzz: add latest version (1.4.6) (#4245) 2017-05-14 07:39:50 -05:00
Milton Woods
1cb98167a2 ncurses: build "normal" libs, not just "wide-char" libs, for ncurses@6: (#4246) 2017-05-14 07:37:50 -05:00
Christoph Junghans
f147c9f5f0 espressopp: always depends on py-numpy (#4207)
Ref espressopp/espressopp#161
2017-05-12 14:36:11 -05:00
Douglas Duckworth
360dc4a709 albacore and cutadapt again (#4219)
* added albacore package as well as dependency py-ont-fast5-api

* added py-cutadapt and dependency py-xopen

* made more changes to albacore and cutadapt as well as dependencies

* made changes again per @adamjstewart

* fixed by python n00b errors i think

* fixed?

* tw=79

* made changes to py-ont-fast5-api ont-albacore

* removed bad characters
2017-05-12 14:11:20 -05:00
Hans Pabst
4e13641db8 LIBXSMM 1.8.1 (#4235)
* Included LIBXSMM 1.8 into the list of available versions.

* LIBXSMM 1.8.1
2017-05-12 13:51:43 -05:00
Adam J. Stewart
c612781f6f Convert pixman to AutotoolsPackage (#4231) 2017-05-12 11:29:16 -05:00
Adam J. Stewart
1a6b4afe7f Add helpful error message for uncompressed downloads (#4205) 2017-05-12 09:52:01 -05:00
Jean-Paul Pelteret
d972ba7fbc Add SymEngine release 0.3.0 (#4227) 2017-05-12 07:49:06 -05:00
Milton Woods
2413f1ec3e Python cdat-lite package (#4208)
* py-cdat-lite: a python package for managing and analysing climate science data

* py-cdat-lite: depends on py-numpy

* py-cdat-lite: flake8 compliance

* py-cdat-lite: provide a generic URL where multiple versions are listed

* py-cdat-lite: restrict python versions; python required at run-time

* py-cdat-lite: use URL under pypi.io for consistency with other packages

* py-cdat-lite: add run-time dependency on py-numpy
2017-05-12 07:46:58 -05:00
Michael Kuhn
e7016b250f Add pdt support to scorep (#4198)
Add pdt dependency to scorep
2017-05-12 07:37:18 -05:00
Adam J. Stewart
5719cfb2f7 Download udunits from FTP server (#4218) 2017-05-11 19:07:12 -05:00
Adam J. Stewart
34cfd2483a Add latest version of eigen (#4224) 2017-05-11 19:06:11 -05:00
Adam J. Stewart
e7973dd290 Fix typo in PythonPackage documentation (#4221) 2017-05-11 19:05:02 -05:00
Adam J. Stewart
70939cf147 Fix metis list_url (#4222) 2017-05-11 19:04:38 -05:00
Stephen McDowell
d01f01c77f Flann package (#3966)
* Initial attempt at flann packaging.

Python2 somehow works. Python3 does not.  Still debugging their
obscure setup.py configuration.

* Flann good enough. Python3 broken but close.

Flake8 checks in place.  Unsure about CMAKE_BUILD_TYPE and default
spack behavior.

* spack uses RelWithDebInfo as default build type.

* builds py2/3, but direct site-packages install

* prefix working, empty python install dir

* flann package +python installs correctly

* str format {0} instead of {}

* potential doctest fix

* consistency of build env with PythonPackage

* fix python again, test deptype todo, build type

* potentially enable matlab, untested
2017-05-11 19:03:23 -05:00
Adam J. Stewart
4cc2d33bcf Force suite-sparse to use Spack's compiler wrappers (#4220) 2017-05-11 18:07:28 -05:00
Adam J. Stewart
9e65f2347c Add patch to fix missing MODULESHOME in profile (#4214) 2017-05-11 14:50:29 -05:00
Massimiliano Culpo
f8b3eff01c filesystem.py: fixed bug introduced in #3367 (scrambled order in output) (#4156)
PR #3367 inadvertently changed the semantics of _find_recursive and
_find_non_recursive so that the returned list are not ordered as the
input search list. This commit restores the original semantic, and adds
tests to verify it.
2017-05-11 10:29:08 -07:00
Adam J. Stewart
23ee792dcf Update NAG checksum, add F77 and FC (#4196) 2017-05-11 11:30:55 -05:00
Howard Pritchard
64dfc8bda6 Open MPI: add 2.1.1 to the list (#4204)
Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-05-10 16:08:52 -05:00
Michael Kuhn
a01be73185 Add nemesistcpib fabrics variant (#4197) 2017-05-10 14:37:01 -05:00
Suzanne Parete-Koon
e1d8cc86f0 updating git (#4200) 2017-05-10 14:36:10 -05:00
Matthew Thompson
604f65f395 Edits to get setup-env.csh working better (#4044)
* Edits to get setup-env.csh working better.

Autosets the sys_type a la setup-env.sh

* More stealing from bash setup script for module roots

* Add error message if SPACK_ROOT isn't set

* Remove _sp_lmod_root per Adam J Stewart
2017-05-10 10:18:45 -05:00
Erik Schnetter
e453865859 cosmomc: Enable Python bindings (#4169)
* cosmomc: Enable Python bindings

* cosmomc: Make python dependency optional
2017-05-10 10:10:53 -05:00
Erik Schnetter
28c7d15df8 hdf5: Correct spelling (#4172)
* hdf5: Correct spelling

* hdf5: avoid trailing spaces
2017-05-10 10:10:31 -05:00
Erik Schnetter
c422b33d77 highfive: New package; this is a C++ wrapper for the HDF5 library (#4173)
* highfive: New package; this is a C++ wrapper for the HDF5 library

The C++ wrapper that is shipped with the HDF5 library has several shortcomings. The highfive library seems to avoid these.

* highfive: Make MPI variant default to true
2017-05-10 09:47:56 -05:00
Adam J. Stewart
94c1651bce Add latest version of PGI compilers (#4186)
* Add latest version of PGI compilers

* Prepend, don't overwrite
2017-05-10 08:16:39 -05:00
Stephen McDowell
61ad369186 py-flask version updates, remote switch (#4166)
* version updates, remote switch

* trim versions to original and most recent

* proper url discovered and tested
2017-05-10 08:15:47 -05:00
Stephen McDowell
c0ceece9cc enable cuda support for suite-sparse (#4163)
* enable cuda support for suite-sparse

* do not use spec.satisfies

* cuda restructure, give clearer comment of why

* str format compatibility

* flake8 checks
2017-05-10 08:13:14 -05:00
Adam J. Stewart
b5eb298f3e Add a new package for ExtUtils::MakeMaker (#4179) 2017-05-09 18:52:08 -05:00
Adam J. Stewart
36db5ba9d8 Fix newline character in GCC package (#4181)
* Fix newline character in GCC package

* Remove the newline completely
2017-05-09 18:51:40 -05:00
Mark C. Miller
64fb2f22b4 Adding FASTMath uber package and missing FASTMath packages (#4120)
* adding 0.5.1 and variant for uint8 bit stream word type

* Revisions as per davydden

* fixing style (flake8) issues

* - switched to derive from MakefilePackage
- fixed typo in variant check
- Confirmed installs correctly with bswtuint8 variant

* added build method; changed zfp_incdir to incdir

* * Adding uber fastmath package to support 'spack install fastmath'
* Adding dims variant boxlib to control compile-time spatial dimension count
* Explicitly disabling many parts of moab to get lib to build. Don't need tools yet.
* Add logic to spack/setup-env to not refer to $SYS_TYPE if its not defined.

* adding mesquite package

* * Added Chombo (still working on Fortran name mangling)
* Made mesquite depend on mpi
* Fixed use of boxlib's dims numerical variant

* adding PUMI

* flake8 compliance

* adding phasta

* fixing flake8 issues

* undue $SYS_TYPE protection change

* fixing install step for fastmath uber package; resolve issues requested by adamjstewart in PR

* revisions as per adamjstewart

* re-enabling trilinos and phasta dependencies

* all changes requested modulu values= and assert statement

* fixing cmake_args usage in pumi; fixing lib installs for chombo

* first pass at numerical variant

* fixing dims variant as per @adamjstewart

* fixing func/var name collision

* fixing means of disabling -Werror

* fix name collision for cmake_args var/func

* fixing chombo homepage/url; make FASTMath use chombo#3.2; remove extraneous comment about boxlib dim

* remove dummy fastmath package; switch to @BarrySmith soln for install of dummy bundle

* fix flake8 import os issue

* remove extraneous comment

* adding url for fastmath scidac site

* final fixes as per @adamjstewart

* adding 1 dims option for boxlib

* switching make(all) to gmake(all)
2017-05-09 18:26:57 -05:00
Adam J. Stewart
a5fd658986 Add latest versions of Intel compiler (#4184) 2017-05-09 18:15:14 -05:00
George Hartzell
ba32f0d3a2 Make openmpi package defn more robust (#4183)
Make openmpi handle bad ibv_devices return statuses without bailing out completely.

See #4162 for background.
2017-05-09 18:00:08 -05:00
Erik Schnetter
692a100caa ncurses: Always build tools (#4174)
Otherwise, the install can fail if the system-provided `tic` binary is too old.
2017-05-09 17:59:46 -05:00
Erik Schnetter
caabcdc8b4 simulationio: Declare dependency on the HDF5 C++ bindings (#4177) 2017-05-09 17:59:21 -05:00
Erik Schnetter
44440d023d qthreads: Convert to AutoTools package (#4176) 2017-05-09 17:58:44 -05:00
Erik Schnetter
0e02f99323 funhpc: Update to version 1.3 (#4170)
Also use a Spack-provided GoogleTest.
2017-05-09 16:19:06 -05:00
Erik Schnetter
68034e4d42 gdbm: Declare readline dependency (#4171) 2017-05-09 16:18:17 -05:00
Gregory Lee
cbcf0f4674 Merge pull request #4165 from epfl-scitas/packages/cp2k_intel_stack_17
cp2k: fixed compilation issues for intel stack
2017-05-09 13:44:53 -07:00
Adam J. Stewart
e8f493ee7b Travis version of pip is too old (#4180)
* Travis version of pip is too old

* Also need to upgrade setuptools
2017-05-09 13:59:59 -05:00
Massimiliano Culpo
306f158c73 cp2k: fixed compilation issues for intel stack
Added DFLAGS to the `make.inc` file being written.
These macros are also added to the language specific variables
like CFLAGS, CXXFLAGS and FCFLAGS. Changed `spec.satisfies('foo')`
with `'foo' in spec` in `intel-mkl`, see #4135. Added a basic
build interface to `intel-mpi`.
2017-05-09 18:46:42 +02:00
Adam J. Stewart
4b866c6395 Add GCC 7 (#4144)
* Add GCC 7
* Allow users to build subset of GCC compilers with multi-value variant.
* Add comment explaining what 'all' actually means
* More specific golang support
* Only require Zip when building Java
* Comment out provide directives that don't currently work
* Add Ada support
* Use conflicts directive
* Fix joining of languages
* Need special flag to build jit
* Explicitly declare GNAT download extension
* Import tty, update lib64 to lib
* BRIG and Go are not supported on macOS
* Simplify formatting and imports
* JIT patch required for newer versions as well
2017-05-08 13:28:28 -07:00
Massimiliano Culpo
3efa9bd296 spec_syntax: added xfailing tests for cases in #4144 (#4151)
It seems that parse_anonymous_spec may fail if more than one part
(variant, version range, etc.) is given to the function. Added tests to
code against to fix the problem in #4144.
2017-05-08 13:24:37 -07:00
Todd Gamblin
ff3b5d88e4 rework spack help (#3033)
- Full help is now only generated lazily, when needed.
  - Executing specific commands doesn't require loading all of them.
  - All commands are only loaded if we need them for help.

- There is now short and long help:
  - short help (spack help) shows only basic spack options
  - long help (spack help -a) shows all spack options
  - Both divide help on commands into high-level sections

- Commands now specify attributes from which help is auto-generated:
  - description: used in help to describe the command.
  - section: help section
  - level: short or long

- Clean up command descriptions

- Add a `spack docs` command to open full documentation
  in the browser.

- move `spack doc` command to `spack pydoc` for clarity

- Add a `spack --spec` command to show documentation on 
  the spec syntax.
2017-05-08 13:18:29 -07:00
Denis Davydov
7923579a42 qt: add 5.8.0 which builds on Sierra with clang 8.1.0 (#4109)
* qt: add 5.8.0 which builds on Sierra with clang 8.1.0

* enable parallel build, add freetype dependency

* minor

* minor
2017-05-08 14:29:08 -05:00
scheibelp
16aa8faf45 Merge pull request #4145 from scheibelp/features/temporary-no-python-for-libxcb
Remove python dependency for libxcb and xcbproto
2017-05-08 11:22:27 -07:00
Massimiliano Culpo
85b0ebe836 BarrierTimeoutError must derive from Exception (#4157)
Seen in https://travis-ci.org/LLNL/spack/builds/229484526, very likely
due to a problem in the Travis builder.
2017-05-07 22:06:39 -07:00
Adam J. Stewart
cf93f49462 Fix PGI compiler detection on PowerPC (#4150) 2017-05-07 22:04:52 -07:00
Massimiliano Culpo
4e44d39f1a Spec.__init__: removed dead code (#4146)
The conditionals are repeated in the statement before _add_dependencies
2017-05-07 21:53:02 -07:00
Luigi Calori
b65daa93be Paramiko python extensions + his deps and other related extensions (#4158)
* adding paramiko and missing dependencies, setup to work with #2548

* adding other deps for paramiko

* fix flake8 errors

* removed spurious add

* address suggestion for proper dependencies

* fix cryptography deps

* remove FIXME comments and commented depends lines
2017-05-07 19:00:25 -05:00
nvarini
bb1a8efaca Added scala package (#67) 2017-05-07 13:05:29 +02:00
Adam J. Stewart
12633b06e4 Add Read the Docs badge to README (#4153) 2017-05-06 14:24:45 -05:00
Adam J. Stewart
42b09640f0 gmp: switch to download directly from GNU (#4152) 2017-05-06 14:24:19 -05:00
Adam J. Stewart
4f439f8e82 mpfr: switch to more reliable URL (#4139)
* Add list_url to mpfr

* Switch to download directly from GNU

* http -> https
2017-05-06 14:22:32 -05:00
Barry Britt
c0a52cc59e Updating bamtools to include a dependency for zlib. (#4031)
* Updating bamtools to include a dependency for zlib.

In a standard compile, bamtools will fail if zlib headers are not installed on the target machine. In order to maintain compatibility with all systems -- and since zlib is included already as a dependency for cmake -- this patch adds zlib as a link dependency for the bamtools package.

* Modified cmake rpath include.

Bamtools has a non-standard library location, so we need to append $prefix/lib/bamtools to the rpath. Not sure there's a better way to do this...

* Fixing syntax error in package.py

Fixed a non-terminated parenthesis on line 46.

* Updated bamtools to be a CMakePackage

Removed extraneous code, and altered the package to extend cmake_args
including the non-standard library location.

* UpRemoving cmake dependency and removing blank line from end of file

* Updates to cmake_args.

Removed the duplicate definition of std_cmake_args in favor of simply overriding the CMAKE_INSTALL_RPATH variable that is provided. This should allow the package to be linked correctly to itself.
2017-05-06 12:05:12 -05:00
Matthew Scott Krafczyk
741e4df233 Update zlib to work with other compilers (#4088)
* Fix -include issue with intel and pgi in zlib

MERGE CANDIDATE

* Patch zlib to compiler with the cray compiler suite.
2017-05-06 12:02:32 -05:00
Adam J. Stewart
73896e9481 Remind developers to update tab completion script (#4148) 2017-05-05 18:52:28 -05:00
George Hartzell
f55eddb9bd Add info for perl@5.22.1 (#4147)
What the user wants, the user gets....
2017-05-05 18:00:23 -05:00
Adam J. Stewart
be991a6efa Add latest version of curl (#4140) 2017-05-05 16:21:37 -05:00
Adam J. Stewart
6e23c31ad1 Python 3 doesn't have iteritems, use items (#4143) 2017-05-05 16:21:15 -05:00
Adam J. Stewart
c3af901ac6 Add latest version of Lmod (#4141) 2017-05-05 23:06:07 +02:00
Peter Josef Scheibel
19511a78b8 Remove python dependency for libxcb and xcbproto
python+tk will not build because it depends (indirectly) on python~tk
via libxcb. There are efforts to allow multiple instances of a package
to concretize together but they are ongoing so in the meantime this
comments out the dependencies and adds TODOs
2017-05-05 13:06:49 -07:00
Adam J. Stewart
9b49dfdc2a Fix typos in Basic Installation Tutorial (#4127) 2017-05-05 13:05:56 -05:00
George Hartzell
f532b4c90b Add info for jdk@8u73 (#4137)
* Fix ordering of versions (proper!)

* Add url/digest for jdk@8u73
2017-05-05 13:05:27 -05:00
Todd Gamblin
665e328566 Add OpenCV 3.2.0 checksum (#4138) 2017-05-05 13:05:05 -05:00
George Hartzell
0042b5e856 Add info for r@3.3.3 (#4128) 2017-05-05 13:04:46 -05:00
Massimiliano Culpo
85b4b15d9a SV variants are evaluated correctly in "when=" (#4118)
* SV variants are evaluated correctly in `when=` statements fixes #4113

The problem here was tricky:
```python
spec.satisfies(other)
```
changes already the MV variants in others into SV variants (where
necessary) if spec is concrete. If it is not concrete it does
nothing because we may be acting at a pure syntactical level.

When evaluating a `when=` keyword spec is for sure not concrete
as it is in the middle of the concretization process. In this case we
have to trigger manually the substitution in other to not end up
comparing a MV variant "foo=bar" to a SV variant "foo=bar" and having
False in return. Which is wrong.

* sv variants: improved error message for typos in "when=" statements
2017-05-04 11:01:02 -07:00
Massimiliano Culpo
6a9052bd4d variants: fixed packages reported by @adamjstewart in #4098 (#4105) 2017-05-04 10:58:58 -07:00
scheibelp
0cf406d7b6 Merge pull request #4121 from davydden/fix_transitive_build_dep_2
add transitive run dependencies of direct build dependencies
2017-05-04 10:32:50 -07:00
Gregory Lee
26a9793148 patch sqlite to work around macro definition (#4117) 2017-05-04 06:43:27 -05:00
Denis Davydov
7592971cb1 add transitive run dependencies of direct build dependencies 2017-05-04 08:43:06 +02:00
scheibelp
bee105fbb9 Merge pull request #4069 from davydden/fix_transitive_build_dep
only add direct build-only dependencies to PATH
2017-05-03 18:41:26 -07:00
Matthew Scott Krafczyk
18db25bb02 Update py-beautifulsoup4 (#4089)
* Update py-beautifulsoup4

* Change beautifulsoup4 url to pypi.io url.
2017-05-03 14:17:04 -05:00
Matthew Scott Krafczyk
6e14b97f84 Update cray compiler options (#4086) 2017-05-03 12:05:15 -05:00
Matthew Scott Krafczyk
07e1597a15 building wget depends on perl > 5.12.0 (#4087)
* building wget depends on perl > 5.12.0

* Remove extra parenthesis
2017-05-03 10:29:55 -05:00
Massimiliano Culpo
060351e121 bash completion: fixed invalid identifier (#4079)
* bash completion: fixed `_spack_create-db-tarball': not a valid identifier

* bash completion: dashes are translated to underscores

This also fixes the name of the subfunction to be called, as apparently
it was not updated after moving the command `create-db-tarball`.
2017-05-03 08:12:33 -05:00
Massimiliano Culpo
7ef46f4f69 hdf5: updated version (#4108) 2017-05-03 08:06:04 -05:00
Massimiliano Culpo
ae9a9e019a spack: no stacktrace if not in debug mode + fix emacs variant (#4098)
* spack: no stacktrace if not in debug mode + fix emacs variant

* emacs: removed dead code
2017-05-03 06:21:37 +02:00
Matthew Scott Krafczyk
72d45f7a44 Add the py-dryscrape package (#4094)
* Add the py-dryscrape package

* Adjust dependencies and change development to develop
2017-05-02 18:47:55 -05:00
Matthew Scott Krafczyk
a651b979ca Update the py-lxml package (#4090) 2017-05-02 16:35:42 -05:00
Matthew Scott Krafczyk
f265eefa22 Add findutils package (#4091) 2017-05-02 16:35:15 -05:00
Matthew Scott Krafczyk
abdb1fb0a0 Add the py-webkit-server package (#4092)
* Add the py-webkit-server package

* Change development to develop
2017-05-02 16:34:28 -05:00
Matthew Scott Krafczyk
2a1301596d Add the py-xvfbwrapper package (#4093) 2017-05-02 15:29:48 -05:00
Matthew Scott Krafczyk
70ea990efd Add py-pyprof2html package (#4095) 2017-05-02 15:28:46 -05:00
Matthew Scott Krafczyk
39ddc7d159 Add py-libconf package (#4096) 2017-05-02 15:28:19 -05:00
Matthew Scott Krafczyk
a0efcaef69 Add the libconfig package (#4097) 2017-05-02 15:27:56 -05:00
Massimiliano Culpo
78c4d0bd20 cgal: updated version (#4081) 2017-05-02 12:27:37 -05:00
Adam J. Stewart
1336630f17 Add link to spack view docs in command index (#4082) 2017-05-02 11:20:45 -05:00
Adam J. Stewart
9a3acea759 Allow ghostscript to build with Spack dependencies (#4065) 2017-05-02 09:45:10 -05:00
Adam J. Stewart
0f9059236c Add missing dependencies to emacs (#4068) 2017-05-02 09:44:02 -05:00
Massimiliano Culpo
b32afbbbcb mvapich2: fixed broken reference to spec (#4078) 2017-05-02 11:26:30 +02:00
Denis Davydov
708d8586ea add run-time dependencies of direct build-time dependencies to PATH 2017-05-02 08:43:37 +02:00
Todd Gamblin
094d47bff1 Allow user to specify profile sort column on the command line. (#4056)
- Add -P <STAT> argument so that caller can specify a sort column for
  cProfile. Can specify multiple columns with commas. e.g.:
      spack -P cumtime,module

- Add --lines option to Spack spec to control number of profile lines
  displayed

- Sort by time by default (because it works in all Python versions)

- Show sort column options in command help.

- Do a short profile run in the unit tests.
2017-05-01 14:32:33 -07:00
Denis Davydov
ef5da08f80 only add direct build-only dependencies to PATH 2017-05-01 22:58:24 +02:00
Adam J. Stewart
c86b53a73f Add latest version of libtiff (#4067) 2017-05-01 15:19:51 -05:00
Massimiliano Culpo
9e4b0eb34a Multi-valued variants (#2386)
Modifications:
- added support for multi-valued variants
- refactored code related to variants into variant.py
- added new generic features to AutotoolsPackage that leverage multi-valued variants
- modified openmpi to use new features
- added unit tests for the new semantics
2017-05-01 13:08:47 -07:00
Adam J. Stewart
5d0d670b72 Add latest version of lcms (#4066) 2017-05-01 14:31:59 -05:00
Todd Gamblin
32dd20035f Skip fetch tests for tools that are not installed. (#4059)
This allows people on systems that don't have all the fetchers to still
run Spack tests. Mark tests that require git, subversion, or mercurial to
be skipped if they're not installed.
2017-05-01 11:53:16 -07:00
Massimiliano Culpo
aa9da358b5 url_parse: ported to pytest (#3430) 2017-05-01 08:57:49 -07:00
Massimiliano Culpo
f60134cdb1 namespace_trie: ported to pytest (#4060) 2017-05-01 08:53:50 -07:00
Adam J. Stewart
2511520b32 Add a WafPackage base class (#3975)
* Add a WafPackage base class

* Correct comment in docstring

* Be more specific about the Python versions supported
2017-05-01 08:00:09 -07:00
Massimiliano Culpo
b3ce04cba3 url_substitution: ported to pytest (#4032) 2017-05-01 01:41:48 -07:00
Christoph Junghans
9f46bc8997 flecsale: works with python3 (#4058)
Ref laristra/flecsale#41
2017-04-30 19:25:16 -07:00
Denis Davydov
c7a5b2eaa9 disable rpaths on Darwin when arg=-r mode=ccld (#3930)
This fixes build of Ipopt package.
2017-04-30 19:16:28 -07:00
Sergey Kosukhin
4421013290 Updated cc wrapper: switch from ld to vcheck if version is requested. (#2501) 2017-04-30 19:08:49 -07:00
Adam J. Stewart
1f303c9ac8 Don't add system paths to PATH (#3910)
* Filter all system paths introduced by dependencies from PATH
* Make sure path filtering works *even* for trailing slashes
* Revert some of the changes to `filter_system_paths`
* Yes, `bin64` is a real thing (sigh)
* add tests: /usr, /usr/, /usr/local/../bin, etc.
* Convert from rST to Google-style docstrings
2017-04-30 18:43:44 -07:00
Massimiliano Culpo
8551ef3874 spack_yaml: ported to pytest (#4033) 2017-04-30 17:27:40 -07:00
Massimiliano Culpo
6a01612ad4 file_list: ported to pytest (#4054) 2017-04-30 10:09:04 -07:00
Massimiliano Culpo
17767bcf25 suite-sparse: updated version (#4055) 2017-04-30 12:01:35 +02:00
Christoph Junghans
110f68a83f Clean up now that submodules are properly supported. (#4053) 2017-04-29 20:43:16 -07:00
Christoph Junghans
0a9beccc4a flecsale: add more features (#4052) 2017-04-29 20:39:22 -05:00
Christoph Junghans
ea2f6b89e9 fetch: do full clone of git submodules (fix #3956) (#3958)
The required hash of a submodule might point to the
non-HEAD commit of the current main branch and hence
would lead to a "no such remote ref" at checkout in
a shallow submodule.
2017-04-29 17:58:52 -07:00
Adam J. Stewart
ce3ab503de Python command, libraries, and headers (#3367)
## Motivation

Python installations are both important and unfortunately inconsistent. Depending on the Python version, OS, and the strength of the Earth's magnetic field when it was installed, the name of the Python executable, directory containing its libraries, library names, and the directory containing its headers can vary drastically. 

I originally got into this mess with #3274, where I discovered that Boost could not be built with Python 3 because the executable is called `python3` and we were telling it to use `python`. I got deeper into this mess when I started hacking on #3140, where I discovered just how difficult it is to find the location and name of the Python libraries and headers.

Currently, half of the packages that depend on Python and need to know this information jump through hoops to determine the correct information. The other half are hard-coded to use `python`, `spec['python'].prefix.lib`, and `spec['python'].prefix.include`. Obviously, none of these packages would work for Python 3, and there's no reason to duplicate the effort. The Python package itself should contain all of the information necessary to use it properly. This is in line with the recent work by @alalazo and @davydden with respect to `spec['blas'].libs` and friends.

## Prefix

For most packages in Spack, we assume that the installation directory is `spec['python'].prefix`. This generally works for anything installed with Spack, but gets complicated when we include external packages. Python is a commonly used external package (it needs to be installed just to run Spack). If it was installed with Homebrew, `which python` would return `/usr/local/bin/python`, and most users would erroneously assume that `/usr/local` is the installation directory. If you peruse through #2173, you'll immediately see why this is not the case. Homebrew actually installs Python in `/usr/local/Cellar/python/2.7.12_2` and symlinks the executable to `/usr/local/bin/python`. `PYTHONHOME` (and presumably most things that need to know where Python is installed) needs to be set to the actual installation directory, not `/usr/local`.

Normally I would say, "sounds like user error, make sure to use the real installation directory in your `packages.yaml`". But I think we can make a special case for Python. That's what we decided in #2173 anyway. If we change our minds, I would be more than happy to simplify things.

To solve this problem, I created a `spec['python'].home` attribute that works the same way as `spec['python'].prefix` but queries Python to figure out where it was actually installed. @tgamblin Is there any way to overwrite `spec['python'].prefix`? I think it's currently immutable.

## Command

In general, Python 2 comes with both `python` and `python2` commands, while Python 3 only comes with a `python3` command. But this is up to the OS developers. For example, `/usr/bin/python` on Gentoo is actually Python 3. Worse yet, if someone is using an externally installed Python, all 3 commands may exist in the same directory! Here's what I'm thinking:

If the spec is for Python 3, try searching for the `python3` command.
If the spec is for Python 2, try searching for the `python2` command.
If neither are found, try searching for the `python` command.

## Libraries

Spack installs Python libraries in `spec['python'].prefix.lib`. Except on openSUSE 13, where it installs to `spec['python'].prefix.lib64` (see #2295 and #2253). On my CentOS 6 machine, the Python libraries are installed in `/usr/lib64`. Both need to work.

The libraries themselves change name depending on OS and Python version. For Python 2.7 on macOS, I'm seeing:
```
lib/libpython2.7.dylib
```
For Python 3.6 on CentOS 6, I'm seeing:
```
lib/libpython3.so
lib/libpython3.6m.so.1.0
lib/libpython3.6m.so -> lib/libpython3.6m.so.1.0
```
Notice the `m` after the version number. Yeah, that's a thing.

## Headers

In Python 2.7, I'm seeing:
```
include/python2.7/pyconfig.h
```
In Python 3.6, I'm seeing:
```
include/python3.6m/pyconfig.h
```
It looks like all Python 3 installations have this `m`. Tested with Python 3.2 and 3.6 on macOS and CentOS 6

Spack has really nice support for libraries (`find_libraries` and `LibraryList`), but nothing for headers. Fixed.
2017-04-29 17:24:13 -07:00
Adam J. Stewart
a32a0eacba Add a new package for dash (#4050) 2017-04-29 12:24:50 -07:00
Adam J. Stewart
90a57cdf8f Add latest version of PGI compilers (#4047)
* Add latest version of PGI compilers

* Add environment variables for PGI
2017-04-29 13:55:00 -05:00
Massimiliano Culpo
89ea5bdd61 A few updates to packages (mostly version updates) (#4049) 2017-04-29 07:44:55 -05:00
George Hartzell
2cfc5eebb5 Bug/make dia build (#4045)
* Make dia build w/ Spack's X bits (and misc)

X related

- need to depend on the +X variant of gtkplus
- need to depend on freetype

misc

- fix path to tarball

* Make freetype a "build" dependency

* Freetype is not just a build dep
2017-04-28 15:30:09 -05:00
Mark Olesen
6814842814 Allow compilation of mgridgen (serial) as well as parmgridgen (parallel) (#3906) 2017-04-28 15:02:05 -05:00
sknigh
15692c5475 ncurses package builds ncurses and ncursesw (#3953)
* ncurses package will build ncurses and ncursesw

* Added libs property to ncurses, added fix for hstr

* flake8 is a harsh mistress

* make libs() more robust

* atop depends on ncurses

* fish depends on ncurses

* libtermkey and nano depend on ncurses

* Adjust url spacing
2017-04-28 14:57:55 -05:00
Adam J. Stewart
4bfba146d5 Add tests to MakefilePackage (#4039) 2017-04-28 14:55:28 -05:00
Brian Van Essen
7f9acfa3b2 Various patches to Openblas for Intel (#4030)
* Added a patch to the openblas package to change the openmp flag for
icc to qopenmp.

* Fixed a linking problem where when using Intel compilers, it was still
pulling in -lgfortran
2017-04-28 14:54:59 -05:00
George Hartzell
529a2ae5fa Depend on readline, remove hardcoded -ltermcap (#4042)
* depend on readline, remove hardcoded -ltermcap

Bowtie should use Spack's readline and not explicitly depend on the
system termcap (which, on CentOS, leads to linking against the
system's tinfo library).

* Add depends_on('zlib')

* Add conflict with gcc@6:

Build seems to have trouble with 6's migration to -std=gnu++14.
2017-04-28 14:47:43 -05:00
Adam J. Stewart
3f6e03d5c1 Add a new package for Cbench (#4043) 2017-04-28 13:44:30 -05:00
Adam J. Stewart
2b6206a504 Add a new package for dos2unix (#4037) 2017-04-28 13:13:42 -05:00
Denis Davydov
a1059b5a6c dealii: fix missing -march=native in flags (#4036) 2017-04-28 12:43:06 -05:00
Adam J. Stewart
d970ef5404 Add a list_url for libpng (#4038) 2017-04-28 10:53:14 -05:00
Massimiliano Culpo
e78e87fd4b python: added version 3.6.1 (#4035) 2017-04-28 09:55:02 -05:00
Massimiliano Culpo
59ac047996 No compiler found: fixed error message (#4034)
When a compiler was not found a stacktrace was displayed to user because
there were three arguments to be substituted in a string with only two
substitutions to be done.
2017-04-28 08:37:47 -05:00
Christoph Junghans
8d92e26712 New package: portage (#4029) 2017-04-28 07:25:29 +02:00
Adam J. Stewart
091a689cb0 Add new package for PVM (#4028) 2017-04-28 07:24:23 +02:00
scheibelp
9a67e95686 Reindex checks install for non-external packages (#4027)
Fixes #4026

#1167 updated Database.reindex to keep old installation records to
support external packages. However, when a user manually removes a
prefix and reindexes this kept the records so the packages were
still installed according to "spack find" etc. This adds a check
for non-external packages to ensure they are properly installed
according to the directory layout.
2017-04-27 15:23:09 -07:00
Christoph Junghans
e8a814463c New package: flecsale (#4025) 2017-04-27 16:52:26 -05:00
Jeffrey Salmond
510d725b64 add relion package (#4020)
* add relion package

* fix flake8

* add licence
2017-04-27 16:52:05 -05:00
Kelly (KT) Thompson
109a3ed8e9 Dia requires libxml2. (#3976)
* Dia requires libxml2.

* Clean up dependencies for Dia (and add X11 deps).

+ Remove dependencies on cairo and libpng.  The will be satisfied via gtkplus.
+ Add dependencies on X11 libraries: libsm, libuuid, libxinerama, libxrender.
+ From a dependency diagram, it doesn't appear that we need libxml2 since this
  dependency should be come in through cairo (via gtkplus).  However, Dia will
  not build without it.
2017-04-27 14:04:45 -07:00
Adam J. Stewart
0488654f67 Prevent spack test flake8 from making changes (#4023) 2017-04-27 15:18:38 -05:00
Christoph Junghans
6f62a4fe36 flecsi: add mpi interoperability (#4000) 2017-04-27 15:10:30 -05:00
Adam J. Stewart
5d6a488c69 Add latest versions of root (#4022) 2017-04-27 14:13:39 -05:00
Todd Gamblin
bb5a433a46 Separate integration tests; simplify test scripts (#4006)
* Separate build integration tests; simplify test scripts

- Move build tests out of the regular Travis unit tests, add more smoke
  test packages to build.

- Run all test scripts with bash -e, which fails on error.

- Factor coverage out into a Travis environment variable, so it's more
  obvious from .travis.yml which tests contribute to coverage and which
  don't.

- Factor dependency checking and much of the front-matter in tests
  scripts into a setup.sh script, which is sourced by all the test
  scripts.  Extra cruft in each tests script now reduced to 2 lines at
  the beginning.
2017-04-27 11:47:56 -07:00
Adam J. Stewart
a0ebce0cb3 Remove 'release' suffix from package name (#4014) 2017-04-27 10:11:59 -07:00
Adam J. Stewart
d83ae6dcff Don't print successfully uninstalled twice (#4019) 2017-04-27 10:11:35 -07:00
Todd Gamblin
2d9dac9af0 Fix Python3 issue with sbang checking; add tests. (#4017) 2017-04-27 09:21:35 -07:00
George Hartzell
58567a2182 Adjustments to get gtkplus to build (#3208)
* Hackery to get gtkplus to build

PR #3077 broke gtkplus by introducing gobject-introspection.

This big hack makes things work.  It has problems.

1. Rather than deal with the nasty sbang fooey in the
   g-ir-tool-template.in derived scripts, it just adds a python
   dependency to each package that runs one of the scripts.  This lets
   the `/usr/bin/env python` sbang do the right thing.

2. It stuffs a several directories on to the XDG_DATA_DIRS environment
   variable, which is used for (among other things) locating the .gir
   files.

3. It avoids building the gtkplus demos because I can't make the bit
   that calls `gdk-pixbuf-csource` work.  It doesn't think that it can
   load `.png` files and all of the google hits I found suggest a bad
   `loader.cache` file.  The file's fine and I can strace the command
   and watch it read it in...  Many, many hours wasted here.

   In spite of the demo failing, the tests pass and an emacs built
   with this lib seems to work.

* Fix sbang so everyone needn't depend_on python

Rather than have every package that
`depends_on('gobject-introspection')` also need to
`depend_on('python')`, this commit fixes the
scripts (e.g. `g-ir-scanner`).

The interesting bit is in the gobject-introspection package.  There is
a beefy comment there that is included below.

The commit also removes the now un-necessary dependencies from various
packages.

I have two reservations about this commit:

1. How portable is the "insertion" sed command?  I'm particularly
   worried that some sed's might need the line to insert to be on a
   different line, which I can't imagine how to cram into the
   Makefile.in.

   The solution I see to this is rather than extending the existing
   sed command in the Makefile I could shim in another line in the
   rule and e.g. call a bit of Perl (or Python, I suppose) which would
   end up being much neater.

2. As written it always uses Spack's `.../bin/sbang`, which might or
   might not be a good idea.

   If I use "the solution" from number 1 above, then I can check the
   line length before I munge it.  Otherwise???

---

 This package creates several scripts from                                                                                                |
 toosl/g-ir-tool-template.in.  In their original form these                                                                               |
 scripts end up with a sbang line like                                                                                                    |
                                                                                                                                          |
 `#!/usr/bin/env /path/to/spack/python`.                                                                                                  |
                                                                                                                                          |
 These scripts are generated and then used as part of the build                                                                           |
 (other packages also use the scripts after they've been                                                                                  |
 installed).                                                                                                                              |
                                                                                                                                          |
 The path to the spack python can become too long.  Because these                                                                         |
 tools are used as part of the build, the normal hook that fixes                                                                          |
 this problem can't help us.                                                                                                              |
 This package fixes the problem in two steps:                                                                                             |
 - it rewrites the g-ir-tool-template so that its sbang line                                                                              |
   refers directly to spack's python (filter_file step below); and                                                                        |
 - it patches the Makefile.in so that the generated Makefile has an                                                                       |
   extra sed expression in its TOOL_SUBSTITUTION that results in                                                                          |
   an `#!/bin/bash /path/to/spack/bin/sbang` unconditionally being                                                                        |
   inserted into the scripts as they're generated.                                                                                        |

* Cairo needs python when it's +X

Cairo needs to depend_on python when it's +X.  I think it's an
indirect requirement that's coming in via libxcb).

* Flake8 cleanup

* Make cairo's dep on python be type=build

This seems to be the right thing and seems to produce a result
that works (I can build gtk+ and then emacs+X on top of it).
2017-04-27 11:04:26 -05:00
Milton Woods
41e3e7dbff ghostscript: add version 9.21 and handle new URL format (#3898)
* ghostscript: add version 9.21 and handle new URL format

* ghostscript: add url of latest version to fix `spack versions`

* ghostscript: use github for all versions our package provides (>= 9.18)
2017-04-27 10:42:56 -05:00
Todd Gamblin
455cae01c2 Convert rest docstrings to Google docstrings. (#3994)
- Sometimes you need something mindless to do.
- Sometimes it can be helpful, as well.
2017-04-27 07:45:34 -07:00
Massimiliano Culpo
a6986312ba pattern: ported to pytest (#4015) 2017-04-27 07:45:04 -07:00
Adam J. Stewart
91b32f67cc Fix alignment of versions and urls in spack checksum (#4003) 2017-04-26 15:55:35 -07:00
Massimiliano Culpo
0403a08509 link_tree: ported to pytest (#4008) 2017-04-26 15:36:35 -07:00
Adam J. Stewart
5422ac1558 Add latest version of libx11 (#4011) 2017-04-26 17:35:29 -05:00
Adam J. Stewart
2553afac25 Add latest version of libxpm (#4012) 2017-04-26 17:34:47 -05:00
Adam J. Stewart
369d370d0c Add latest version of libxrender (#4013) 2017-04-26 17:34:27 -05:00
Adam J. Stewart
463d91cd9f Add latest version of xproto (#4010) 2017-04-26 16:35:07 -05:00
Adam J. Stewart
581635c5ab Add latest version of libpthread-stubs (#4009) 2017-04-26 16:27:46 -05:00
Adam J. Stewart
2c1e5f9ee1 Add latest version of fontconfig (#4007) 2017-04-26 15:49:48 -05:00
Adam J. Stewart
348e715da7 Add missing readline dependency to sqlite (#4001)
* Add missing readline dependency to sqlite

* Fix typo
2017-04-26 14:59:03 -05:00
Gregory Lee
378935916a matplotlib and basemap require setuptools to run properly together (#3835)
* matplotlib and basemap require setuptools to run properly together

* flake 8 fix
2017-04-26 13:53:27 -05:00
Barry Smith
1e18ace647 Update checksum for dummy xsdk package (#4002)
Commit-type: bug-fix
Funded-by: IDEAS
Project: xSDK
Reported-by: "Klinvex, Alicia Marie" <amklinv@sandia.gov>
2017-04-26 13:39:09 -05:00
Todd Gamblin
b3ba9bdb37 Add __format__ support to version for fancy formatting. (#3996)
- add Version.__format__ to support new-style formatting.
- Python3 doesn't handle this well -- it delegates to
  object.__format__(), which raises an error for fancy format strings.
- not sure why it doesn't call str(self).__format__ instead, but that's
  hwo things are.
2017-04-26 11:06:34 -07:00
Adam J. Stewart
c616e4a619 Add list_url for bzip2 (#3988) 2017-04-26 10:49:27 -05:00
Jeffrey Salmond
e3378a0d3b add kokkos package (#3997)
* add kokkos package

* fix flake8

* add descriptions to kokkos variants
2017-04-26 09:33:00 -05:00
Christoph Junghans
97af407ae4 gasnet: build with fPIC for shared lib consumers (#3962) 2017-04-26 09:31:23 -05:00
jadoro
eba21b86bd Add ncurses as zsh dependency (#3991)
zsh build will fail with 
configure: error: "No terminal handling library was found on your system."
if ncurses is not found.
2017-04-26 07:53:58 -05:00
Milton Woods
e6efb1aa21 perl: identify dependency on gdbm (#3896)
* perl: provide +gdbm variant for use when system dbm is missing or buggy

* perl: remove gdbm variant; always depends on gdbm

* perl: pass gdbm paths as Configure arguments
2017-04-26 07:42:43 -05:00
futuretristan
3b32e008ec ipopt: fix build with Linux clang (#3995) 2017-04-26 01:42:48 -07:00
Adam J. Stewart
eaa50d3b7c Add API Docs for lib/spack/llnl (#3982)
* Add API Docs for lib/spack/llnl
* Clean up after previous builds
* Better fix for purging API docs
2017-04-25 22:24:02 -07:00
Adam J. Stewart
11dae722c2 Fix bug with '# noqa' filtering (#3993) 2017-04-25 22:23:01 -07:00
George Hartzell
33c9a91d85 Make perl and python variants (#3992)
The blast+ configure script supports building
--with-{python,perl}=path and --without-{python,perl}.

This commit makes the use of those two languages configurable via
variants and adds dependencies and explicit --with-... or
--without-... flags to configure.

Python was a non-optional dependency, now it is a variant that
defaults to `True`.

Perl was not previously an explicit dependency but the configure
script was likely to discover one on your system (`/usr/bin/perl`).
It is now a variant that defaults to `True`.

I am unable to accurately determine what these flags to the configure
script enable.  My users are frustrated by the dependency on Python in
particular because it constrains the other modules that they can have
loaded for new discernible benefit.
2017-04-26 06:04:20 +02:00
Barry Smith
d04ae9a2b4 xsdk version 0.2.0 (#3928)
* xSDK: a bundle/meta package that simple installs a series of packages with suitable specs

This is based on struggles with previous attempts at such a bundler
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 12 hours

* PETSc needs c++11 when built with Trilinos

* Added alquimia package

* remove direct setting of cpp in petsc/package.py since it doesn't work on some systems.

Funded-by: IDEAS
Project: IDEAS/xSDK
Time: .3 hours
Reported-by: Mark A. Berrill <berrillma@ornl.gov>

* provide the MPI compilers to PETSc configure with --with-cc etc instead of --with-mpi-dir

Funded-by: IDEAS
Project: IDEAS/xSDK

* Spack bug fix issue #3144

String could contain /n which resulting in spack generating warning message to stderr on each
use of compiler which configure interpreted as failing compiler

Thanks-to: Mark A. Berrill <berrillma@ornl.gov>

* Fixed alquimia package

Alquimia expects PETSC_DIR and PETSC_ARCH to be defined, and
refuses to install if they are not.  Spack does not define PETSC_
ARCH, so Alquimia will not install.  This patch does two things
to fix the alquimia build:

1. A patch has been added to remove the dependency on PETSC_ARCH.

2. Alquimia currently depends on old versions of PETSc and pflotran.
   @ghammond86 updated the alquimia interfaces to use more recent
   versions, but his patch is still sitting in an alquimia pull
   request.  As a result, the spack installer now uses his fork
   of alquimia.  This is a temporary fix until his pull request is
   accepted.

* Need to pass to Alquimia the MPI compilers, not the raw compilers

Otherwise the PETSc tests do not produce executables that can run because they are not
linked against MPI libraries

Funded-by: IDEAS
Project:  IDEAS/xSDK
Time: .5 hours

* Add alquimia to xSDK build

Funded-by: IDEAS
Project: IDEAS/xSDK

* Fix flake8 errors for xsdk packages

* Add xsdk support for xsdk version xsdk-0.2.0

Note that currently it is just dummy code, but will eventually use
a xsdk-0.2.0 tag for each package it installs.

Funded-by: IDEAS
Project:  IDEAS/xSDK
Time: .7 hours

* Do not build Mumps by default for PETSc since it is not portable, for example to Cray

Allow alquimia to accept PETSc even if the PETSc test executable cannot run since this is a problem on Cray.

Reported-by: Alicia Marie Klinvex <amklinv@sandia.gov>

* Add xsdk-0.2.0-rc1 tag for xsdk-0.2.0 installs

* Switch alquimia download site back to standard location

since they have incorporated Glenn Hammond's fixes
Also it no longer needs the patch to the Alquimia cmake

Funded-by: IDEAS
Project: IDEAS/xSDK
Reported-by: Sergi Molins Rafa <smolins@lbl.gov>

* update hypre to use the latest release candidate for xsdk 0.2.0

Funded-by: IDEAS
Project: IDEAS/xSDK
Reported-by: Ulrike Meier Yang <yang11@llnl.gov>

* Re-added patch to alquimia

The patch was out of date and has been updated accordingly.

* Added Tpetra-free option to Trilinos

The Tpetra stack takes forever to build and is not used by any of the
IDEAS teams, so there should be an option to disable it.  I have added
this option and updated the xSDK accordingly.  I also disabled
xSDKTrilinos in the xSDK, since none of the apps teams currently use it,
and it's largely Tpetra-based.

* Removed alquimia patch from develop version

The patch has been incorporated into alquimia and is no longer
necessary for the develop version.  The tagged version has not
been updated accordingly and still needs the patch for now.
(When the tagged version gets updated, the patch does need to be
removed from spack altogether, or it will break the build.)

* Removed patch from alquimia

It has been incorporated into alquimia, both the develop and
rc2 tagged versions.  The 0.2.0 version of alquimia has been updated
to tag rc2 rather than rc1.

* update xsdk-0.2.0 to depend on PETSc xsdk-0.2.0-rc2 which fixes for Apple xcode 8.3

Commit-type: bug-fix
Funded-by: IDEAS
Project: IDEAS/xSDK

* import sys got lost in merge with develop

* Update xsdk packages to use xsdk-0.2.0 tag

Commit-type: feature
Funded-by: IDEAS
Project: ECP

* Fixes for Flake8

note, had to ignore some long lines due to a single string

* simple improvements to XDK packages as suggested by Spack pull request reviewers

Commit-type: style-fix
Funded-by: IDEAS
Project: xSDK

* Removed unneeded : after develop as requested by Denis Davydov in pull request review

Commit-type: style-fix
Funded-by: IDEAS
Project: xSDK
Thanks-to: Denis Davydov

* Removed change that may not be needed due to updates in PETSc spack file such as using mpicc etc directly

Commit-type: bug-fix
Funded-by: IDEAS
Project: xSDK
Thanks-to: Adam J. Stewart

* Do not turn on xSDKTrilinos for xSDK builds since it requires tpetra

Commit-type: bug-fix
Funded-by: IDEAS
Project: xSDK

* comment why MUMPS is disabled by default for PETSc so that others won't try to enable it when modifying petsc package next time

Commit-type: documentation
Funded-by: IDEAS
Project: xSDK
Thanks-to: Denis Davydov
2017-04-25 16:09:30 -07:00
Adam J. Stewart
4a7a4f5cd3 Add latest version of freetype (#3989) 2017-04-25 16:56:42 -05:00
Adam J. Stewart
af4893f854 Add latest version of libpng (#3987) 2017-04-25 16:12:40 -05:00
Adam J. Stewart
1617b88759 Mark 1.64.0 unstable until +mpi+python fixed. (#3984) 2017-04-25 15:45:52 -05:00
Adam J. Stewart
95a0e6a5fd Add list_url for fftw (#3985) 2017-04-25 15:45:25 -05:00
Christoph Junghans
ef09049f24 New package: pax-utils (#3980) 2017-04-25 15:06:07 -05:00
Todd Gamblin
3e508884fa spack flake8 should exempt line-wrapped directives (#3990)
- Omit final paren from regular expressions in cmd/flake8.py
- Allows long directives to be exempted even if they are wrapped.
2017-04-25 12:58:24 -07:00
Massimiliano Culpo
fc9896ed45 hooks take spec as an argument (instead of pkg) (#3967) 2017-04-25 12:54:53 -07:00
Adam J. Stewart
58f2a947db Properly ignore flake8 F811 redefinition errors (#3932)
* Properly ignore flake8 F811 redefinition errors
* Add unit tests for flake8 command
* Allow spack flake8 to work on systems with older git
* Skip flake8 unit tests for Python 2.6 and 3.3
2017-04-25 11:01:25 -07:00
Adam J. Stewart
827ebe280d Add latest version of NCO (#3978) 2017-04-25 12:10:55 -05:00
Adam J. Stewart
18dd9c0860 Add patch to gettext to fix parallel make check (#3981) 2017-04-25 12:10:35 -05:00
Christoph Junghans
54bfa888b9 legion: add mpi interoperability and shared libs (#3959)
* legion: add mpi inoperability

* legion: make +mpi the default

* legion: add shared variant
2017-04-25 12:06:05 -05:00
健美猫
dd5f4cb251 A new package: CNTK. (#3578) 2017-04-25 06:40:23 -05:00
serbanmaerean
eef7d17946 Add global arrays package (#3970)
* Added magma package

* Incorporated Serban's change

* globalarrays: add global arrays package to Spack.

* globalarray: remove extreaneous comment from package file
2017-04-24 16:04:40 -07:00
Todd Gamblin
99a8297add Rename tutorial_sc16.rst to tutorial.rst (#3974)
- make the name more generic for posterity.
2017-04-24 15:25:41 -07:00
Brian Van Essen
00fdbe81bc Caffe (#3948)
* Added a package for the MDAnalysis toolkit.

* Added the hash for the 1.0 release of caffe and put in a conflict
statemet indicating that protobuf requires a c++11 compiler.

* Changed minimum version number.

* Tweaked the minimum version number.

* Fixed flake8 error.
2017-04-24 13:32:27 -05:00
Adam J. Stewart
c144c88302 Use six.moves.input instead of raw_input (#3961)
* Use six.moves.input instead of raw_input

* Remove comment mentioning raw_input
2017-04-23 10:32:08 -05:00
Gregory Lee
67bf71630b Do not require license for new Intel libraries (#3931)
* new Intel libs do not require license to install

* updated Intel library package URLs

* disable license_required for new Intel libraries
2017-04-23 08:58:47 -05:00
Milton Woods
b2155a5682 Update ECWMF packages: grib-api, libemos and magics (#3901)
* grib-api: add version 1.21.0

* libemos: add version 4.4.7 and allow choice of eccodes or grib-api

* magics: add version 2.32.0

* libemos: add description for eccodes variant
2017-04-23 07:56:47 -05:00
Milton Woods
980ffcdcec eccodes: new package for encoding and decoding meteorological data (#3900)
* eccodes: new package for encoding and decoding meteorological data

* eccodes: remove line breaks from package docstring

* eccodes: simplify names of variants

* eccodes: give a description for each variant

* eccodes: use succinct code for cmake_args

* eccodes: found extra dependency for python variant

* eccodes: add URL for a list of available releases
2017-04-23 07:55:51 -05:00
Massimiliano Culpo
3b52d0a883 External packages are now registered in the DB (#1167)
* treats correctly a change from `explicit=False` to `explicit=True` in an external package DB entry.
* added unit tests
* fixed issues raised by @tgamblin . In particular the PR is no more hash-changing for packages that are not external.
* added a test to check correctness of a spec/yaml round-trip for things that involve an external
* Don't find external module path at each step of concretization
    * it's not necessary.. The paths are retrieved at the end of concretizaion
* Don't find replacements for external packages.
* Test root of the DAG if external
    * No reason not to test if the root of the DAG is external when external
packages are now first class citizens!
* Create `external` property for Spec (for external_path and external_module)
* Allow users to specify external package paths relative to spack
    * Canonicalize external package paths so that users may specify their
locations relative to spack's directory.
* Update tests to use new external_path and external properly.
* skip license hooks on external
2017-04-22 18:06:27 -07:00
Adam J. Stewart
4e17ae911b Hack to fix python dependency ranges (#3938)
* Hack to fix python dependency ranges

* Flake8
2017-04-22 17:31:50 -05:00
Adam J. Stewart
fc8106afe3 Find more versions from GitHub (#3952) 2017-04-22 17:31:22 -05:00
George Hartzell
281ba99460 Add version info for emacs@25.2 (#3957) 2017-04-22 16:01:17 -05:00
Denis Davydov
94a0cca080 add Intel mpi package and add MPI wrappers to Intel parallel studio (#3905)
* intel-mpi: add new package

* fix hashes

* fix typo

* flake8

* add install

* blank line

* error

* add bin64

* fix MPI wrappers in intel-parallel-studio

* add missing I_MPI_FC

* use shorter hashes
2017-04-22 07:30:51 -05:00
Matthew Krafczyk
16a7b27a9e more fixes for use of setuptools in python packages
- py-setuptools is required by py-yt for importing yt in jupyter notebooks.
- add two dependencies needed for python 2.7
- add the py-subprocess32 package
2017-04-21 23:35:02 -07:00
Paul Hopkins
8b92908ab4 Fix setuptools handling in Python packages.
- add setuptools dependencies to packages that need it.
- remove setuptools from packages that do not need it.
2017-04-21 23:35:02 -07:00
Todd Gamblin
9f0b94b4e1 PythonPackage builds flat installs instead of egg directories.
- Spack doesn't need eggs -- it manages its own directories

- Simplify install layout and reduce sys.path searches by installing all
  packages flat (eggs are deprecated for wheels, and this is also what
  wheels do).

- We now supply the --single-version-externally-managed argument to
  `setup.py install` for setuptools packages and setuptools.

- modify packages to only use setuptools args if setuptools is an
  immediate dependency

- Remove setuptools from packages that do not need it.

  - Some packages use setuptools *only* when certain args (likeb
    'develop' or 'bdist') are supplied to setup.py, and they specifically
    do not use setuptools for installation.

  - Spack never calls setup.py this way, so just removing the setuptools
    dependency works for these packages.
2017-04-21 23:35:02 -07:00
Christoph Junghans
0b002c2911 fetch git submodules recursively (#3779)
* fetch git submodules recursively

This is useful if the submodules have submodules themselves. On
the other hand doing a recursive update doesn't hurt if there
is only one level.

* fetch submodules with depth=1 as well (fix #2190)

* use git submodule with depth only for git>=1.8.4
2017-04-21 21:59:30 -07:00
Todd Gamblin
4572685710 Coverage for multiple Python versions. (#3951)
Update tests to use codecov for multiple python versions.
2017-04-21 17:41:30 -07:00
Todd Gamblin
ead58cbb90 spack uninstall no longer requires a known package. (#3915)
- Spack install would previously fail if it could not load a package for
  the thing being uninstalled.

- This reworks uninstall to handle cases where the package is no longer
  known, e.g.:
    a) the package has been renamed or is no longer in Spack
    b) the repository the package came from is no longer registered in
       repos.yaml
2017-04-21 16:52:44 -07:00
Adam J. Stewart
2a04fdca52 Convert LLVM to CMakePackage, update cmake dependency version (#3940)
* Convert LLVM to CMakePackage, update cmake dependency version

* Remove unused import
2017-04-21 18:38:07 -05:00
George Hartzell
a90e34f4ca Add info for nextflow@0.17.3 (#3947) 2017-04-21 18:28:13 -05:00
Todd Gamblin
c67f8e4aa1 Fix ABI detection issues with macOS gcc. (#3854)
- gcc on macOS says it's version 4.2.1, but it's really clang, and it's
  actually the *same* clang as the system clang.

- It also doesn't respond with a full path when called with
  --print-file-name=libstdc++.dylib, which is expected from gcc in abi.py.
  Instead, it gives a relative path and _gcc_compiler_compare doesn't
  understand what to do with it.  This results in errors like:

  ```
  lib/spack/spack/abi.py, line 71, in _gcc_get_libstdcxx_version
      libpath = os.readlink(output.strip())
  OSError: [Errno 2] No such file or directory: 'libstdc++.dylib'
  ```

- This commit does two things:

  1. Ignore any gcc that's actually clang in abi.py.  We can probably do
     better than this, but it's not clear there is a need to, since we
     should handle the compiler as clang, not gcc.

  2. Don't auto-detect any "gcc" that is actually clang anymore.  Ignore
     it and expect people to use clang (which is the default macOS
     compiler anyway).

Users can still add fake gccs to their compilers.yaml if they want, but
it's discouraged.
2017-04-21 15:45:12 -07:00
Todd Gamblin
63c3410370 Fix checksumming in Python3; add more fetch tests (#3941)
* Checksum code wasn't opening binary files as binary.

- Fixes Python 3 issue where files are opened as unicode text by default,
  and decoding fails for binary blobs.

* Simplify fetch test parametrization.

* - add tests for URL fetching and checksumming.
- fix coverage on interface functions in FetchStrategy superclass
- add some extra crypto tests.
2017-04-21 15:36:15 -07:00
Todd Gamblin
c0356182b6 Remove all test variants (#3923) 2017-04-21 15:18:56 -07:00
Denis Davydov
6017a6a6fe netcdf: fix missing CC = mpicc ; this makes it work with Intel MPI (#3942) 2017-04-21 14:43:27 -07:00
Jeffrey Salmond
a2135dff49 add cppcheck new version (#3935) 2017-04-21 12:54:27 -05:00
Adam J. Stewart
46d0ca9d01 Ensure that tests are optional (#3922) 2017-04-21 12:15:39 -05:00
Adam J. Stewart
5250e8ee89 Fix HPL build, convert to MakefilePackage (#3777)
* Fix HPL build, convert to MakefilePackage

* Flake8 fix

* Fix: spec -> self.spec

* Properly query for system libraries

* Update Intel-MKL as well

* Recurse in system libs, fix MKL path, fixes lapack_libs
2017-04-21 12:11:29 -05:00
Javier
41efada340 Adding new python package: py-python-gitlab (#3936) 2017-04-21 11:47:52 -05:00
Jimmy Tang
f86ed1e34d Fix for llvm 4.0.0 on centos (#3904)
* Fix for llvm 4.0.0 on centos

This addresses https://github.com/LLNL/spack/issues/3791

* Only enable this option if on linux

* Change condition to satisfy standard
2017-04-21 11:29:41 -05:00
Bruno Turcksin
a017c5e2ef Add boost 1.64.0 (#3934) 2017-04-21 10:06:31 -05:00
Brian Van Essen
011442fd37 Keras 2.0.3 (#3927)
* Added a package for the MDAnalysis toolkit.

* Added has for Keras version 2.0.3
2017-04-20 17:48:30 -05:00
Michael Kuhn
f520c0dd8d Add vampirtrace (#3911)
Since scorep does not support all use cases yet, vampirtrace is still
useful in some circumstances.
2017-04-20 15:01:06 -05:00
Adam J. Stewart
e2e6dea9b3 Gettext test suite fails when run in parallel (#3921) 2017-04-20 13:06:11 -05:00
Adam J. Stewart
f0a6ead19c Flake8 2017-04-20 12:48:02 -05:00
Adam J. Stewart
9ca0d1f5f0 Remove all test variants 2017-04-20 12:13:11 -05:00
Adam J. Stewart
21e4a81de0 Add Napoleon extension to support Google docstrings (#3920) 2017-04-20 08:32:21 -07:00
Todd Gamblin
beeca6bb54 Revert "Override partial installs by default" (#3918)
* Revert "Override partial installs by default (#3530)"

This reverts commit a65c37f15d.
2017-04-20 03:53:41 -07:00
Todd Gamblin
fa3e91bf2a Revert "Add lmod files to MODULEPATH" (#3917)
* Revert "Add lmod files to MODULEPATH (#3912)"

This reverts commit 186d1f4511.
2017-04-20 03:05:44 -07:00
Massimiliano Culpo
50d7b33563 test/python_version.py: ported to pytest (#3438) 2017-04-20 01:18:52 -07:00
scheibelp
a65c37f15d Override partial installs by default (#3530)
* Package install remove prior unfinished installs

Depending on how spack is terminated in the middle of building a
package it may leave a partially installed package in the install
prefix. Originally Spack treated the package as being installed if
the prefix was present, in which case the user would have to
manually remove the installation prefix before restarting an
install. This commit adds a more thorough check to ensure that a
package is actually installed. If the installation prefix is present
but Spack determines that the install did not complete, it removes
the installation prefix and starts a new install; if the user has
enabled --keep-prefix, then Spack reverts to its old behavior.

* Added test for partial install handling

* Added test for restoring DB

* Style fixes

* Restoring 2.6 compatibility

* Relocated repair logic to separate function

* If --keep-prefix is set, package installs will continue an install from an existing prefix if one is present

* check metadata consistency when continuing partial install

* Added --force option to make spack reinstall a package (and all dependencies) from scratch

* Updated bash completion; removed '-f' shorthand for '--force' for install command

* dont use multiple write modes for completion file
2017-04-19 21:59:18 -07:00
Adam J. Stewart
e12f2c1855 Set proper deptypes for certain build systems (#3866)
* Set proper deptypes for certain build systems

* Add depends_on to namespace
2017-04-19 21:33:14 -07:00
Adam J. Stewart
9bd6d21322 Add variant to mvapich2 to set size of rank bits (#3886) 2017-04-19 21:31:21 -07:00
Adam J. Stewart
186d1f4511 Add lmod files to MODULEPATH (#3912) 2017-04-19 21:30:08 -07:00
Adam J. Stewart
3c0c0f3457 binutils should link to Spack zlib installation (#3914) 2017-04-19 21:29:27 -07:00
Adam J. Stewart
f51af42bc6 Add latest version of HOOMD-blue (#3889) 2017-04-19 21:24:32 -07:00
Adam J. Stewart
f4858cb7a7 Rework Spack's Mercurial support (#3834)
* Add tests to mercurial package

* Add support for --insecure with mercurial fetching

* Install man pages and tab-completion scripts

* Add tests and latest version for all deps

* Flake8 fix

* Use certifi module to find CA certificate

* Flake8 fix

* Unset PYTHONPATH when running hg

* svn_fetch should use to svn-test, not hg-test

* Drop Python 3 support in Mercurial

Python 3 support is a work in progress and isn't currently
recommended:

https://www.mercurial-scm.org/wiki/SupportedPythonVersions

* Test both secure and insecure hg fetching

* Test both secure and insecure git and svn fetching
2017-04-19 18:59:04 -07:00
Jimmy Tang
53763f7698 Sox (#3908)
* Initial add of flac

* Initial add of id3lib

* Initial add of the opus codec

* Initial add of sox audio processing tools

* Cleanup spec files to be inline with current standard

* Fix pep8 compliance

* Remove un-needed configuration
2017-04-19 16:21:13 -05:00
George Hartzell
a3dff31b07 Add info for sqlite@3.18.0 (#3913) 2017-04-19 16:15:21 -05:00
Mark Olesen
22a966d010 add lines missed in rebase (adios +bzip2) (#3907) 2017-04-19 09:36:46 -05:00
Milton Woods
9b6b91b0b9 ncl: capture more dependencies (#3902)
* ncl: add depends_on statements for bison, flex and libiconv

* ncl: depends on flex for building and linking

* ncl: links with -ll, so requires flex with variant '+lex'

* ncl: depends on szip; external hdf5 may not provide it
2017-04-19 06:55:22 -05:00
Milton Woods
b00a12565c pango: depends on libxft when +X, disable libxft support when ~X (#3899) 2017-04-19 06:54:06 -05:00
George Hartzell
13fef18244 Ensure sbin is prepended to PATH in modulefiles (#3843) 2017-04-19 06:51:04 -05:00
Denis Davydov
eaefaaba5b espresso: add 6.1.0 (#3881)
* espresso: fix missing dependency on elpa, add 6.1.0

* override default libs of elpa to get shared always
2017-04-19 12:34:42 +02:00
Milton Woods
13911f1b46 gdbm: GNU dbm package for manipulating hashed databases (#3895) 2017-04-19 09:32:00 +02:00
George Hartzell
a0b19d50c5 Disable parallel builds for vim (#3893)
* Disable parallel builds

The install step creates a bunch of links to the vim binary, e.g.
`view`.  When run with -j greater than 1 there are silent failures.

Running w/out parallelism seems to fix it.

* Only constrain the install phase to be -j 1

Thanks @adamjstewart!
2017-04-18 20:46:09 -05:00
Javier
687f5e78ae Adding new python package: py-simplejson (#3883)
* Adding new python package: py-simplejson

* Adding setuptools dependency

* Fixing typo
2017-04-18 12:02:55 -05:00
Christoph Junghans
2a3fc6c404 charm: set sane default (#3865)
see https://github.com/LLNL/spack/pull/3852#pullrequestreview-32996651
for details
2017-04-18 12:02:41 -05:00
Denis Davydov
ce714b5641 ocotpus and arpack-ng: fix arpack bug and add libs to arpack-ng (#3875)
* ocotpus and arpack-ng: fix arpack bug and add libs to arpack-ng

also rename the variant to be consistent with other packages

* fix a bug

* flake8
2017-04-18 11:50:10 -05:00
George Hartzell
afbe81b455 Add version info for git-lfs v2.0.2 (#3885) 2017-04-18 11:48:53 -05:00
Kelly (KT) Thompson
fad4ce21cc Provide version 3.8.0 of CMake. (#3882) 2017-04-18 10:59:59 -05:00
Javier
7ed99a4c86 Adding new package: sas (#3877) 2017-04-18 07:07:07 -05:00
Denis Davydov
5558bec14e ape: constrain libxc version (#3876) 2017-04-18 07:03:48 -05:00
Mark Olesen
c65d0775cf ADIOS - add bzip2 transport, python patch not applicable to adios 1.9.0 (#3874) 2017-04-18 07:00:39 -05:00
sknigh
d17b5eb2b9 Added expat dependency to apr-util (#3871) 2017-04-18 06:57:49 -05:00
健美猫
4e95525280 Add patched openfst-1.4.1 and kaldi@c024e8 required by CNTK. (#3806) 2017-04-18 06:56:18 -05:00
Denis Davydov
fc938962fa octave: add 4.2.1 (#3872)
Also switch to arpack-ng, which is maintained and has bugfixes,
whereas the original arpack code is abandoned.
2017-04-18 06:55:11 -05:00
Denis Davydov
89f531c18a gmsh: add 3.0.1 (#3873) 2017-04-18 11:30:17 +02:00
Adam J. Stewart
6d7b386199 Add a py-fiscalyear package (#3864)
* Add a py-fiscalyear package

* Declare supported Python versions
2017-04-17 16:46:52 -05:00
Adam J. Stewart
ebf30d95cd Add latest numpy release (#3869) 2017-04-17 15:45:52 -05:00
Denis Davydov
0ed18de836 opneblas: fix compilation with clang (#3862)
* opneblas: fix compilation with clang

* indentation
2017-04-17 09:16:18 -05:00
Michael Kuhn
3331c042af Fix udunits2 (#3809) 2017-04-17 09:15:02 -05:00
Adam J. Stewart
cc747d6b6f Remove redundant cmake dependencies (#3860) 2017-04-16 12:23:26 -05:00
Christoph Junghans
675a67e2ca random123: put uniform.hpp in right subfolder (#3858) 2017-04-16 08:47:46 -05:00
Christoph Junghans
a3378ccd3d charm: add support for shared linking (#3859) 2017-04-16 08:47:00 -05:00
Christoph Junghans
fdc8f71a5c trilinos: allow to compile exodus (#3857) 2017-04-15 21:57:44 -05:00
Christoph Junghans
1d514f48bc random123: install uniform.hpp as well (#3856) 2017-04-15 21:57:19 -05:00
Adam J. Stewart
5aa273b319 Fix flake8 changed files detection (#3855) 2017-04-15 11:46:28 -05:00
Adam J. Stewart
bd1beedaf5 Allow users to set parallel jobs in config.yaml (#3812)
* Allow users to set parallel jobs in config.yaml

* Undo change from endash to emdash

* Remove parallel config, rename jobs to build_jobs
2017-04-15 08:31:00 -07:00
Erik Schnetter
62fb1ad990 hpx5: Add patch to select Spack compiler on Cray (#3798) 2017-04-14 22:38:22 -05:00
Christoph Junghans
caad110757 New package: flecsi (#3780)
* New package: flecsi

* make fetch independent of #3779
2017-04-14 17:56:36 -05:00
healther
bd6a90742c Add package gccxml (#3836)
* Add package gccxml

* Fix spec undefinedwq

* fix versions

* fix patch when statement

* fix flake8...
2017-04-14 17:54:19 -05:00
Christoph Junghans
7d655f77ee New package: boost-mpl-cartesian_product (#3841) 2017-04-14 17:53:35 -05:00
Christoph Junghans
9e693336ad New package: tut (#3844) 2017-04-14 17:52:57 -05:00
Ben Boeckel
6574ec3143 stage: remove a rogue period (#3846) 2017-04-14 17:51:54 -05:00
George Hartzell
2ed2469b11 Add a package for FLASh (bioinformatics) (#3848)
Add a package for FLASh.
2017-04-14 17:51:36 -05:00
Adam J. Stewart
acad217cba Add a py-pkgconfig package (#3815) 2017-04-14 13:14:45 -05:00
George Hartzell
a4311f242a vim wasn't linking against ncurses (#3838)
See #3829.  Vim's configure was searching for ncurses
instead of ncursesw.
2017-04-14 13:13:36 -05:00
Christoph Junghans
9626a042f8 New package: PEGTL (#3839) 2017-04-14 13:13:15 -05:00
Christoph Junghans
ef64734192 New package: pstreams (#3840) 2017-04-14 12:18:49 -05:00
Jean-Paul Pelteret
a0217747d0 Readline package: Add ncurses library directory to link line. (#3802)
Resolves a issue with finding the ncurses library on MacOS.
2017-04-14 12:17:45 -05:00
Christoph Junghans
9922c374aa New package: MAD's numdiff (#3811) 2017-04-14 11:18:32 -05:00
Adam J. Stewart
5ce0126c91 Prevent users from building Score-P on macOS (#3825)
* Prevent users from building Score-P on macOS

* Add link to original reporting issue
2017-04-14 08:38:34 -07:00
Adam J. Stewart
3f21b82815 Add variant to mvapich2 to control thread level (#3832) 2017-04-14 08:14:19 -07:00
Adam J. Stewart
331f42b991 Convert Image-Magick to AutotoolsPackage (#3828) 2017-04-14 08:13:47 -07:00
Adam J. Stewart
bec6d99b15 Add documentation on explicit param for do_install (#3823) 2017-04-14 08:13:14 -07:00
Mario Melara
0405505e21 Quick fix for #3153 (#3822) 2017-04-14 07:56:51 -07:00
Adam J. Stewart
91d82c44e6 Remove mawk dependency from ncurses (#3782) 2017-04-14 09:38:13 -05:00
健美猫
102dcbcbd4 Add cub-1.4.1 required by cntk. (#3819) 2017-04-14 08:29:18 -05:00
健美猫
e636bf05fc A new package: bowtie. (#3837) 2017-04-14 08:16:51 -05:00
Christoph Junghans
c08965701f New package: h5part (#3821) 2017-04-13 15:00:17 -05:00
Christoph Junghans
90f46186f9 New package: pugixml (#3830) 2017-04-13 14:59:32 -05:00
Michael Kuhn
afdc2f4182 Fix adios (#3814)
adios currently only supports zfp <= 0.5.0 due to an API change.
2017-04-12 16:58:18 -05:00
George Hartzell
5b65380f98 Add package for nginx@1.12.0 (#3810)
* Add package for nginx@1.12.0

Includes support for:
- zlib
- pcre (and pcre-jit)
- openssl (https support)

Built and basics tested on CentOS 7.  I haven't tested the `https`
support [yet].

* Include final bit of doc string sentence.

I trimmed the docstring that I lifed from https://nginx.org/en a bit
too aggressively and left a '...' to remind me to fix it.

Apparently I need more obvious reminders.

Thanks @davydden!
2017-04-12 15:27:46 -05:00
Adam J. Stewart
e12e9996e4 Document commands that no longer work (#3781) 2017-04-12 10:46:00 -05:00
Jean-Paul Pelteret
0af57ce345 Apply a patch to allow valgrind 3.12 to build on MacOS >= 10.11 (#3808) 2017-04-12 07:43:14 -05:00
Javier
7203a3c055 Update xrootd versions (#3807)
* Update xrootd versions

* Removing unnecessary url_for_version method
2017-04-12 06:50:31 -05:00
Nils Deppe
701965fb2a brigand: New Package (#3801) 2017-04-11 22:14:54 -05:00
Christoph Junghans
56ae607a39 New package: f90cache (#3804) 2017-04-11 20:13:41 -05:00
Nils Deppe
d7b5726fdc blaze: New Package (#3803) 2017-04-11 17:08:26 -05:00
Gregory Lee
9a4077c272 added stat version 3.0.1 (#3800) 2017-04-11 14:10:09 -05:00
Adam J. Stewart
ed86dc2db6 Help cscope find ncursesw library (#3785)
* Help cscope find ncursesw library

* Overwrite CURSES_LIBS at build time
2017-04-11 14:09:29 -05:00
Erik Schnetter
cea4352555 spherepack: New package (#3797) 2017-04-11 13:15:41 -05:00
Erik Schnetter
4d18f9f233 pocl: New version 0.14 (#3799) 2017-04-11 13:15:19 -05:00
Javier
e55c9a0eb8 Update ccache version to 3.3.4 (#3794)
* Update ccache version to 3.3.4

* Flake8 fix
2017-04-11 09:32:31 -05:00
George Hartzell
47aa8053e9 Install the shell completion scripts (#3784)
* Install the shell completion scripts

Install the `git-completion.{bash,tcsh,zsh}` and `git-prompt.sh` into
`$(spack location -i git)/share/` (aka `prefix.share/`).

* Use copy_tree to copy all the files

The dest dir already exists, so install_tree()'s not an option.
2017-04-11 07:39:03 -05:00
healther
74b1f2b860 Fixup gcc@4.9{0,1,2} build on darwin (#3789) 2017-04-11 07:37:44 -05:00
Brian Van Essen
808e9b4649 Added a package for the MDAnalysis toolkit. (#3576)
* Added a package for the MDAnalysis toolkit.

* Added the dependency on setuptools.

* Added the rest of the dependencies to the py-mdanalysis package.  Also
added the griddataformats and seaborn packages to satisfy requirements.

* Removed seaborn package since it has been recently added.

* Fixed flake8 error

* Removed inadvertent commits.

* Cleaned up reviewers feedback.
2017-04-10 21:02:32 -05:00
Adam J. Stewart
4627655704 Rename libson-c to json-c, add new version (#3776) 2017-04-10 15:09:59 -05:00
George Hartzell
4acc36d188 Fix build, add version info for 1.3.0 (#3773)
Update the package recipe w.r.t. AutotoolsPackage changes,
now builds "out of source".

Update the package with version info for 1.3.0.

> Mosh 1.3.0 released, with John Hood as release lead. The release includes broader platform compatibility, robustness improvements, better testing, and fixes for excess CPU consumption in some cases. We have switched to semver.org-style versioning and will increment the minor version number whenever we add new functionality. (In our previous practice, this release would probably have been called “1.2.7.”)

Tested on CentOS 7.
2017-04-10 11:12:49 -05:00
Denis Davydov
c9da92dc97 doc: start with known issues section (#3722) 2017-04-10 08:20:57 -05:00
healther
5008973d99 Fix namespaced python packages (#3757)
* Fix namespaced python packages

* Update package.py

* Update package.py

* fix typo
2017-04-10 08:12:57 -05:00
健美猫
77673f4c42 A new package: cudnn. (#3770) 2017-04-10 07:27:15 -05:00
Adam J. Stewart
8e4ada5e99 Make it more clear that version ranges are inclusive (#3759) 2017-04-10 07:25:48 -05:00
健美猫
87818abf21 A new pacakge: hstr(hh). (#3769) 2017-04-09 11:56:49 -05:00
Adam J. Stewart
bd9213a55f Append system PKG_CONFIG_PATH on Cray instead of prepend (#3766) 2017-04-08 20:50:16 -05:00
Michael Kuhn
b91bf0e067 Update libbson and libmongoc to 1.6.2 (#3767) 2017-04-08 06:40:55 -05:00
George Hartzell
bf9dcc4a10 Add info for go@1.8.1 (#3765) 2017-04-07 16:50:08 -05:00
Mark C. Miller
a2afe984c0 Adding ZFP version 0.5.1 and variant for uint8 bit stream word type (#3753)
* adding 0.5.1 and variant for uint8 bit stream word type

* Revisions as per davydden

* fixing style (flake8) issues

* - switched to derive from MakefilePackage
- fixed typo in variant check
- Confirmed installs correctly with bswtuint8 variant

* added build method; changed zfp_incdir to incdir
2017-04-07 15:00:32 -05:00
Massimiliano Culpo
28e20313ac lmod: added new version (#3763) 2017-04-07 14:32:32 -05:00
Todd Gamblin
d995f9a314 Disable OpenSSL test dependency until we have proper support. (#3760) 2017-04-07 14:14:02 -05:00
Adam J. Stewart
ed4f276b68 Add a package for the NAS Parallel Benchmarks (NPB) (#3762) 2017-04-07 14:10:29 -05:00
Matthew Scott Krafczyk
7c4ed0a70a Add the rockstar package (#3680)
* Add the rockstar package

* Add rockstar to yt.

* Correct signature of prep_yt.

* Correct rockstar package installation process

Needed to change the way the necessary prefixes are found as well as
how the completed package is copied.

There should probably be a way to do the copying in a more 'spack' way.

* Add license

* Add description.

* Set no hdf5 variant as default.

* Use copy_tree for copying files

* Use MakefilePackage

* Address concerns from @adamjstewart

* Fix flake8 errors.
2017-04-07 13:17:19 -05:00
Jean-Paul Pelteret
c6777ddf74 Update LLVM to version 4.0.0 (#3683)
* Update LLVM to version 4.0.0

* Add arguments to prevent lldb, polly building when using ~<variant>
2017-04-07 13:15:14 -05:00
健美猫
3ad6754c1a Add the 'shared' variant for protobuf. (#3703) 2017-04-07 13:11:22 -05:00
Mark Olesen
f166f57f09 remove mxml CFLAGS option that was breaking configure (fixes #3700) (#3706)
- provide urls for versions 2.7, 2.6, 2.5 (archive copies)
2017-04-07 13:06:09 -05:00
Milton Woods
04f20320f4 subversion: spec.satisfies('^swig') does not work; replace spec.satisfies by "in spec" (#3662) 2017-04-07 13:03:57 -05:00
Axel Huebl
a8bd69f01c Package: ISAAC (#3733)
Adds the [ISAAC](https://github.com/ComputationalRadiationPhysics/isaac)
in situ volume rendering library. The ISAAC library can be build with
render/filter kernels for Nvidia GPUs via CUDA or with a more general
backend via [Alpaka](https://github.com/ComputationalRadiationPhysics/alpaka)
with support for Nvidia GPUs (via CUDA) and multicore CPUs.

Since alpaka is not yet part of spack, the second variant is still
commented out.

Packages

- `isaac`: header-only library with dependencies to other C++ libraries
           that is then used in simulations
- `isaac-server`: stand-alone executable that connects N simulations with M
                  clients in a `N simulations:1 server` and
                  `1 server:M clients` fashion

(ISAAC clients simply speak websockets/JSON and are usually
[HTML/JS pages](https://github.com/ComputationalRadiationPhysics/isaac/tree/v1.2.0/client))

Downstream Usage

PIConGPU uses ISAAC for in situ visualization.

References

- [Repo](https://github.com/ComputationalRadiationPhysics/isaac) (LGPLv3+)
- [Documentation](http://computationalradiationphysics.github.io/isaac/)
- [Talk at GTC2016](http://on-demand.gputechconf.com/gtc/2016/video/S6294.html)
2017-04-07 11:04:45 -05:00
Axel Huebl
7b37620e25 mallocMC: Spack Package (#3745)
Adds a package for mallocMC, a memory allocator for many core
architectures.

This project provides a framework for fast memory managers on
many core accelerators. Currently, it supports NVIDIA GPUs of
compute capability sm_20 or higher through the ScatterAlloc
algorithm. mallocMC is header-only.

Downstream Dependencies

PIConGPU and other projects of HZDR's
*Computational Radiation Physics* group

References

- Markus Steinberger, Michael Kenzel, Bernhard Kainz and Dieter Schmalstieg.
  *ScatterAlloc: Massively parallel dynamic memory allocation for the GPU*,
  Innovative Parallel Computing (InPar), 2012,
  https://doi.org/10.1109/InPar.2012.6339604

- Carlchristian Eckert.
  *Enhancements of the massively parallel memory allocator ScatterAlloc and its adaption to the general interface mallocMC*,
  Junior Thesis (grosser Beleg), 2014,
  http://dx.doi.org/10.5281/zenodo.34461
2017-04-07 11:03:58 -05:00
Adam J. Stewart
54d0f9157d Tell libedit to link to -lncursesw (#3752) 2017-04-07 11:03:19 -05:00
Christoph Junghans
f1943589b5 gromacs: added 5.1.4 and 2016.3 (#3758) 2017-04-07 10:59:14 -05:00
Adam J. Stewart
16fb872f84 Fix ncurses support in bash package (#3735) 2017-04-07 08:43:13 -05:00
healther
1d21a11ff4 fix dependencies of py-pynn (#3756) 2017-04-07 06:46:46 -05:00
Massimiliano Culpo
10c395b2f5 Abinit: a few modernizations for the package and its dependencies (#3699)
* libxc: added libs interface

* hdf5: added libs interface, added conflicts

* abinit: modernized package to use build interface

* netcdf-fortran: added libs interface

* abinit: added version 8.2.2
2017-04-07 11:18:34 +02:00
Axel Huebl
030127a071 cuda_memtest: Package of CRP (#3747)
This adds a maintained version of the (since 2012)
stalled original project.

https://github.com/ComputationalRadiationPhysics/cuda_memtest

Nvidia's NVML (via the GPU deployment kit) could also be
added, providing serial number output of failing GPUs
for multi-GPU nodes.
2017-04-06 22:05:13 -05:00
Christoph Junghans
e3bfb79824 Add Votca packages (#3748)
* A new package: votca-tools

* A new package: votca-csg
2017-04-06 22:04:51 -05:00
Todd Gamblin
279d410758 Add package for OpenSSH (#3750) 2017-04-06 21:37:49 -05:00
Christoph Junghans
10ceed3b66 A new package: legion (#3738) 2017-04-06 17:55:09 -05:00
George Hartzell
3232c16d0c Update version info to include v1.5.5 (#3743)
* Update version info to include v1.5.5

* Clean up url specifications.
2017-04-06 17:54:36 -05:00
Adam J. Stewart
7c41d9c6db spglib requires setuptools during runtime (#3744) 2017-04-06 17:54:07 -05:00
Denis Davydov
5c0fe2829b deal.ii: add 8.5.0 (#3741) 2017-04-06 16:29:40 -05:00
George Hartzell
84208523f9 set_executable can set S_IX{GRP,OTH} (#3742)
`set_executable` now checks if a user/group.other had read permission
on a file and if it does then it sets the corresponding executable
bit.

See #1483.
2017-04-06 16:25:13 -05:00
Max Katz
a526bcaf11 Correct uninstall -d to uninstall -R in tutorial (#3740)
-d was changed to -R as of PR #1917
2017-04-06 15:44:43 -05:00
Axel Huebl
f31a38532f libSplash & PNGwriter: CMakePackage (#3739)
Use new CMakePackage base class
2017-04-06 21:33:19 +02:00
Michael Kuhn
95e401fe80 Fix wx (#3734)
It is missing a pkg-config dependency.
2017-04-06 13:54:57 -05:00
Axel Huebl
951f4bf514 PNGwriter: 0.6.0 (#3732)
Adds the latest release of PNGwriter.
2017-04-06 12:31:55 -05:00
Todd Gamblin
eb9cb2d4a1 Fix libdwarf/elfutils conflict 2017-04-06 09:42:46 -07:00
健美猫
85f937525d A new package: xqilla. (#3731) 2017-04-06 10:54:16 -05:00
Jimmy Tang
00fb0dd6c6 Openmpi cuda support (#3725)
* Update cuda to latest ga2 release

* Add CUDA support to openmpi

* Use spec's lib directories for cuda

* flake8 compliance
2017-04-06 16:12:54 +02:00
Michael Kuhn
b81a50b4e3 Add zip package (#3715) 2017-04-06 08:12:51 -05:00
Michael Kuhn
095f57409c Fix magics (#3721)
- magics requires perl and perl-xml-parser.
- xml2cc_new.pl uses /usr/bin/perl by default.
2017-04-06 08:11:32 -05:00
Todd Gamblin
715ac8b7e6 Update copyright on the docs. (#3718) 2017-04-05 18:34:17 -07:00
Adam J. Stewart
df150b3e92 spack create MakefilePackage (#3710)
* spack create MakefilePackage

* Change default Perl template to match other build systems
2017-04-05 18:00:42 -05:00
Josh Asplund
048b6fc454 Fixes patch paths for earlier boost versions (#3712)
* Fixes patch paths for earlier boost versions

The directory structure of boost changed at version 1.56.0, so the patch
being used for python support did not work on earlier versions. This
adds another patch that matches earlier versions.

* Removes commented out code
2017-04-05 16:26:22 -05:00
Adam J. Stewart
745e2ce52f Fixes needed to build htop (#3691)
* Fixes needed to build htop

* Build libncursesw.so, not libncurses.so

* Remove htop hack now that it is picking up newer ncurses

* Tell packages to link to new ncursesw libraries
2017-04-05 16:03:11 -05:00
Milton Woods
87eafaa125 subversion: provide checksums for versions 1.8.17 and 1.9.5 (#3663)
* subversion: provide checksums for versions 1.8.17 and 1.9.5

* subversion: release versions sorted from newest to oldest
2017-04-05 15:15:22 -05:00
Denis Davydov
bccc73c6c9 petsc trilinos: fix Scalapack via MKL (#3702)
* petsc trilinos: fix Scalapack via MKL

* indentation
2017-04-05 14:55:28 -05:00
Mark Olesen
aa63bc6f34 update versions for scalasca and related tools (#3697)
- clean up fetch urls

- inherit from AutotoolsPackage instead of Package

- explicit fPIC flags look suspicious, but leave them in there.

- in scalasca, use the cube version that is implicit from
  the scorep dependency instead of specifying it twice.
2017-04-05 14:54:40 -05:00
Michael Kuhn
a813764874 Fix libxpm (#3704)
It tries to use gettext but fails because it does not explicitly link
against libintl.
2017-04-05 14:50:42 -05:00
Michael Kuhn
9dcd6052cb Fix ncl (#3708)
- Add patch to make ncl compile with hdf5 1.10.
- Add missing dependencies to make ncl compile without errors.
2017-04-05 13:59:26 -05:00
scheibelp
9e50d16f13 Merge pull request #2789 from paulhopkins/features/allow_package_installation_directory_to_be_configured
Allow installation directory layout to be configured
2017-04-05 10:45:11 -07:00
Adam J. Stewart
cd1c88c519 Add stress package (#3695) 2017-04-05 11:48:56 -05:00
健美猫
70372ddcd7 Add versions 3.2.0 3.1.0 for protobuf. (#3698) 2017-04-05 07:59:18 -05:00
Paul Hopkins
95c3cff6be Allow installation directory layout to be configured using either hash
length parameter or spec formatting.
2017-04-05 12:08:56 +01:00
George Hartzell
46f25a4e0a Add package for open source Shiny Server (#3688)
* The beginnings of a package for shiny-server

Just stashing a WIP.

This doesn't work.

This goes for a while and/but blows up with some OpenSSL related issue.

* Make it work!

Yay!

* shiny-server needs R with X support

My environment gets this for "free" from my packages.yaml, but it
should be explicity.

* Address feedback

- python version
- gcc dependency
- Flake8 comment rules

* Richer caveats and warnings.

* Convert to CMakePackage and fix python version typo

* Fix typo: noqab -> noqa

* Ensure proper build location, clean up comments
2017-04-04 18:05:28 -05:00
scheibelp
0038ea84a1 Avoid null reference in arch concretization (#2596)
Fixes #2587

The concretizer falls back on using the root architecture (followed
by the default system architecture) to fill in unspecified arch
properties for a spec. It failed to check cases where the root could
be None.
2017-04-04 15:03:52 -07:00
Adam J. Stewart
3866dba265 Convert STREAM to MakefilePackage (#3692) 2017-04-04 15:00:35 -05:00
Adam J. Stewart
3c57862084 Add fio package (#3689) 2017-04-04 13:26:08 -05:00
Denis Davydov
0dbeeab70e intel-mkl: add 2017.2 (#3687)
* intel-mkl: add 2017.2

* intel-mkl: add urls, update docstring
2017-04-04 11:39:26 -05:00
Massimiliano Culpo
20f388cebd Fixes #3675: Abinit: invalid spec on concretization #(3686) 2017-04-04 07:03:11 -07:00
Jean-Paul Pelteret
7de6a28b15 Update SymEngine package to enable build against LLVM (#3682) 2017-04-04 06:56:44 -05:00
Mayeul d'Avezac
0e32369a26 Cppcheck (#3684)
* Adds cppcheck version 1.72

* cppcheck installation requires cfg files

Without these files, cppcheck does not work correctly
2017-04-04 06:55:02 -05:00
Mayeul d'Avezac
8276bd75fc Update tinyxml (#3649)
* Update tinyxml

* url seems to have changed
* spack replaces "_2_6_2" with "_2.6.2" unless the url is explicitly
given
* copyfile is no longuer available by default

* URL version-parsing should work as of #2972
2017-04-04 06:52:58 -05:00
Justin Cook
508c96d046 Update getting_started.rst (#3685)
Fixed typo referring to .bashrc file
2017-04-04 06:50:44 -05:00
Adam J. Stewart
d6a28a7401 Add IOzone package (#3679) 2017-04-03 18:05:45 -05:00
Adam J. Stewart
50df071ad9 Overhaul Spack's URL parsing (#2972)
* Remove fake URLs from Spack

* Ignore long lines for URLs that start with ftp:

* Preliminary changes to version regexes

* New redesign of version regexes

* Allow letters in version-only

* Fix detection of versions that end in Final

* Rearrange a few regexes and add examples

* Add tests for common download repositories

* Add test cases for common tarball naming schemes

* Finalize version regexes

* spack url test -> spack url summary

* Clean up comments

* Rearrange suffix checks

* Use query strings for name detection

* Remove no longer necessary url_for_version functions

* Strip off extraneous information after package name

* Add one more test

* Dot in square brackets does not need to be escaped

* Move renaming outside of parse_name_offset

* Fix versions for a couple more packages

* Fix flake8 and doc tests

* Correctly parse Python, Lua, and Bio++ package names

* Use effective URLs for mfem

* Add checksummed version to mitos

* Remove url_for_version from STAR-CCM+ package

* Revert changes to version numbers with underscores and dashes

* Fix name detection for tbb

* Correctly parse Ruby gems

* Reverted mfem back to shortened URLs.

* Updated instructions for better security

* Remove preferred=True from newest version

* Add tests for new `spack url list` flags

* Add tests for strip_name_suffixes

* Add unit tests for version separators

* Fix bugs related to parseable name but in parseable version

* Remove dead code, update docstring

* Ignore 'binary' at end of version string

* Remove platform from version

* Flip libedit version numbers

* Re-support weird NCO alpha/beta versions

* Rebase and remove one new fake URL

* Add / to beginning of regex to avoid picking up similarly named packages

* Ignore weird tar versions

* Fix bug in url parse --spider when no versions found

* Less strict version matching for spack versions

* Don't rename Python packages

* Be a little more selective, version must begin with a digit

* Re-add fake URLs

* Fix up several other packages

* Ignore more file endings

* Add parsing support for Miniconda

* Update tab completion

* XFAILS are now PASSES for 2 web tests
2017-04-03 15:34:16 -07:00
Adam J. Stewart
7e9777f294 Add latest version of pkg-config (#3672) 2017-04-03 14:09:44 -05:00
健美猫
734f90d11f openfst conflicts with intel@16: and gcc@6: . (#3671) 2017-04-03 13:35:04 -05:00
健美猫
74bd894427 Fix conflict directives for libpfm4. (#3673) 2017-04-03 13:05:03 -05:00
Adam J. Stewart
6cf87e3637 Add latest alpha release of MVAPICH2 (#3674) 2017-04-03 13:04:42 -05:00
George Hartzell
11fe0b9b26 Add depends_on() new-ish bison (#3661)
* Add depends_on() new-ish bison

* Refine dependency, only needed to build.
2017-04-03 10:59:44 -05:00
健美猫
57b3961778 Add libpfm4 package. (#3667) 2017-04-03 10:59:24 -05:00
Jeffrey Salmond
9b19968bac add CUDA_HOME arg to nccl makefile (#3666) 2017-04-03 08:08:28 -05:00
Jeffrey Salmond
b7eee1bd7b add gflags as dependency of glog (#3665) 2017-04-03 07:56:58 -05:00
George Hartzell
cddb7524b7 Hey, I was using that! :) (#3660)
Turns out that we really want 5.22.2 for backward compatibility.
2017-04-02 20:32:20 -05:00
Adam J. Stewart
c0cfaacbc8 Set default providers for all virtual dependencies (#3634)
* Set default providers for everything

* Add default OpenFOAM provider
2017-04-02 14:48:27 -05:00
Massimiliano Culpo
ffef681377 new directive: conflicts() (#3125)
* Add conflicts(<spec>) directive
* openblas: added conflicts for intel@16 refs #3119
* added brief docs and unit tests
2017-04-02 11:40:09 -07:00
Todd Gamblin
0e785e0500 Add epigraph in docs. 2017-04-01 15:32:06 -07:00
Todd Gamblin
221f179716 Add better tests for web.py; fix some bugs found with spidering.
- _spider in web.py was actually failing to spider deeper than a certain
  point.
- Fixed multiprocessing pools to not use daemons and to allow recursive
  spawning.
- Added detailed tests for spidering and for finding archive versions.
- left some xfail URL finding exercises for the reader.
- Fix noqa annotations for some @when decorators
2017-04-01 15:10:45 -07:00
Adam J. Stewart
28d6d375b4 Fix Python 3 support in spack versions
- Add missing import, fixes spack versions in Python 2
- Fix spack versions in Python 3
2017-04-01 15:10:45 -07:00
Kenneth Hoste
b67e2db159 fix version specs for EasyBuild packages (#3659)
* fix Python version requirement for easybuild-framework

* make 'when' for depends_on('py-easybuild-framework') open-ended
2017-04-01 13:14:15 -05:00
Kenneth Hoste
90306cf415 EasyBuild and dependencies (#3658)
* add packages for EasyBuild and dependencies

* fix remarks w.r.t. docstrings & download urls, make dependency specs stricter w.r.t. required versions

* fix easybuild-* dep specs, should be open-ended

* correct dep specs for easybuild and easybuild-easyconfigs using @3.1.2[:]
2017-04-01 10:27:58 -07:00
Kenneth Hoste
fb98f9ee19 fix annoying 'fatal: Not a git repository' error message (#3657)
fix annoying 'fatal: Not a git repository' error message produced by 'spack list' when Spack is not run from a Git repository (#3657)
2017-04-01 03:29:06 -07:00
健美猫
f982cd78ae Add a pcakge: libzip. (#3656) 2017-04-01 00:09:09 -05:00
Gregory Lee
12c1216c34 fix flake8 ignore syntax (use E instead of ignore) (#3651) 2017-03-31 17:51:09 -07:00
Massimiliano Culpo
0c44dd28bb test/package_sanity.py: ported to pytest (#3474) 2017-03-31 13:42:04 -07:00
Massimiliano Culpo
ee7753a597 test/versions.py: ported to pytest (#3635) 2017-03-31 13:41:48 -07:00
Todd Gamblin
a8bcc23fe7 Spack works with Python 3
- Update version guard in spack script to allow python 3
- Update min required version in the docs
2017-03-31 13:40:41 -07:00
Todd Gamblin
3f21f2b088 Clean up tests and add Python3 to Travis.
- Clean up spec_syntax tests: don't dependend on DB order.
- spec_syntax hash parsing tests were strongly dependent on the order the
  DB was traversed.
- Tests now specifically grab the specs they want from the mock DB.
- Tests are more readable as a result.

- Add Python3 versions to Travis tests.
2017-03-31 13:40:41 -07:00
Todd Gamblin
b9ee86cac9 Make packages Python3 compatible. 2017-03-31 13:40:41 -07:00
Todd Gamblin
7f3f493024 Fix concretization bugs with virtuals and deptypes.
1. Fix #2807: Can't depend on virtual and non-virtual package

- This is tested by test_my_dep_depends_on_provider_of_my_virtual_dep in
  the concretize.py test.

- This was actually working in the test suite, but it depended on the
  order the dependencies were resolved in. Resolving non-virtual then
  virtual worked, but virtual, then non-virtual did not.

- Problem was that an unnecessary copy was made of a spec that already
  had some dependencies set up, and the copy lost half of some of the
  dependency relationships.  This caused the "can'd depend on X twice
  error".

- Fix by eliminating unnecessary copy and ensuring that dep parameter of
  _merge_dependency is always safe to own -- i.e. it's a defensive copy
  from somewhere else.

2. Fix bug and simplify concretization of deptypes.

- deptypes weren't being accumulated; they were being set on each
  DependencySpec. This could cause concretization to get into an infinite
  loop.

- Fixed by accumulating deptypes in DependencySpec.update_deptypes()

- Also simplified deptype normalization logic: deptypes are now merged in
  constrain() like everything else -- there is no need to merge them
  specially or to look at dpeendents in _merge_dependency().

- Add some docstrings to deptype tests.
2017-03-31 13:40:41 -07:00
Todd Gamblin
fe6f39b662 Use key sorting instead of cmp()
- Get rid of pkgsort() usage for preferred variants.
- Concretization is now entirely based on key-based sorting.
- Remove PreferredPackages class and various spec cmp() methods.
- Replace with PackagePrefs class that implements a key function for
  sorting according to packages.yaml.
- Clear package pref caches on config test.
- Explicit compare methods instead of total_ordering in Version.
- Our total_ordering backport wasn't making Python 3 happy for some
  reason.
- Python 3's functools.total_ordering and spelling the operators out
  fixes the problem.
- Fix unicode issues with spec hashes, json, & YAML
- Try to use str everywhere and avoid unicode objects in python 2.
2017-03-31 13:40:41 -07:00
Todd Gamblin
0cd6555388 Resolve Python2/Python3 unicode issues by using str()
- Remove ascii encoding assumption from spack_yaml
- proc.communicate() returns bytes; convert to str before adding.
- Fix various byte string/unicode issues for Python 2/3 support
- Need to decode subprocess output as utf-8 in from_sourcing_files.
- Fix comments in strify()
2017-03-31 13:40:41 -07:00
Todd Gamblin
1d1a14dbe9 Convert Python 2 idioms to Python 2/3-compatible ones.
- convert print, StringIO, except as, octals, izip
- convert print statement to print function
- convert StringIO to six.StringIO
  - remove usage of csv reader in Spec, in favor of simple regex
  - csv reader only does byte strings
- convert 0755 octal literals to 0o755
- convert `except Foo, e` to `except Foo as e`
- fix a few places `str` is used.
  - may need to switch everything to str later.
- convert iteritems usages to use six.iteritems
- fix urllib and HTMLParser
- port metaclasses to use six.with_metaclass
- More octal literal conversions for Python 2/3
- Fix a new octal literal.
- Convert `basestring` to `six.string_types`
- Convert xrange -> range
- Fix various issues with encoding, iteritems, and Python3 semantics.
- Convert contextlib.nested to explicitly nexted context managers.
- Convert use of filter() to list comprehensions.
- Replace reduce() with list comprehensions.
-  Clean up composite: replace inspect.ismethod() with callable()
- Python 3 doesn't have "method" objects; inspect.ismethod returns False.
- Need to use callable in Composite to make it work.
- Update colify to use future division.
- Fix zip() usages that need to be lists.
- Python3: Use line-buffered logging instead of unbuffered.
- Python3 raises an error with unbuffered I/O
  - See https://bugs.python.org/issue17404
2017-03-31 13:40:41 -07:00
Todd Gamblin
0331b08c64 Update externals to work with Python 3
- Update YAML version to support Python 3
- Python 3 support for ordereddict backport
- Exclude Python3 YAML from version tests.
- Vendor six into Spack.
- Make Python version-check tests work with Python 3
- Add ability to add version check exceptions with '# nopyqver' line
  comments.
2017-03-31 13:40:41 -07:00
Adam J. Stewart
bc404532ea PythonPackage: Let There Be Tests! (#2869)
* Run python setup.py test if --run-tests
* Attempt to import the Python module after installation
* Add testing support to numpy and scipy
* Remove duplicated comments
* Update to new run-tests callback methodology
* Remove unrelated changes for another PR
2017-03-31 13:39:07 -07:00
Gregory Lee
3ade829566 new and updated PRUNERS tools (#3648) 2017-03-31 13:42:03 -05:00
Michael Kuhn
0d421137f4 Fix mxml (#3639)
mxml is now hosted on GitHub.
2017-03-31 13:41:08 -05:00
Adam J. Stewart
343f3b2fde Add QBank package (#3641)
* Add QBank package

* Install the documentation and add it to the MANPATH

* Add Perl DBI package

* Make sure setup method variables are consistent
2017-03-31 11:51:13 -05:00
Adam J. Stewart
d13854b5d4 Perl: add more versions, add phases (#3640) 2017-03-31 09:18:28 -05:00
Mark Olesen
832f932310 CONFIG: add older bison version 2.7 (#3645)
- for programs that don't yet work with bison 3.x
2017-03-31 07:54:04 -05:00
Hans Pabst
d59ceba9c5 Included LIBXSMM 1.8 into the list of available versions. (#3646) 2017-03-31 07:53:37 -05:00
Milton Woods
890213d5c2 Subversion with perl bindings (#3644)
* perl-term-readkey: add perl Term::ReadKey package
* subversion: add variant with perl bindings
* subversion: use `which('perl')` to find perl executable in package.py
2017-03-31 01:48:18 -07:00
Milton Woods
a81b2b4dc6 perl-xml-parser: add perl XML::Parser package (#3643) 2017-03-30 21:54:56 -07:00
Milton Woods
9e43ff821c Extendable Perl (#3614)
* perl: make extendable and add Module::Build package
* perl: allow 'spack create' to identify perl packages from their contents
* perl-module-build: fix indenting of package docstring
* perl: split install() method for extensions into phases
* perl: auto-detect build method (Makefile.PL vs Build.PL) and define a 'check' method
* PerlPackage: use import statements similar to those in AutotoolsPackage
* PerlModule: fix detection of Build.PL
* PerlPackageTemplate: remove extraneous lines to avoid flake8 warnings
* PerlPackageTemplate: split into separate templates for Makefile.PL and Build.PL
* PerlPackage: add cross-references to docstrings
* AutotoolsPackage: fix ambiguous cross-references to avoid errors in doc tests
* PerlbuildPackageTemplate: depend on perl-module-build if Build.PL exists
2017-03-30 16:38:58 -07:00
Mark Olesen
9e1abb13dc support OpenFOAM package(s) (#3528)
* ENH: add package for building OpenFOAM (1612) from www.openfoam.com
- provide 'openfoam' as virtual package.
- package as openfoam-com to reflect the distribution point.

This initial spack packaging for OpenFOAM supports a number of possible
variants and should handle 64-bit labels properly now that the scotch
package has been updated accordingly.

* ENH: update package for foam-extend (extend-project.de)

- provide 'openfoam' as virtual package.

- much of the build is now aligned with how the openfoam-com package
  looks, with the aim of future refactoring.

- avoid installing intermediate targets.

- contains its own environment sourcing script for the build, for more
  flexibility and robustness (doesn't touch the python build environ)

* ENH: added package for building from openfoam.org

- provide 'openfoam' as a virtual package.

- this is largely a direct copy of the openfoam-com package.
  It has been supplied as a courtesy for users and to ensure maximum
  consistency in quality and naming between the foam-extend,
  openfoam-com and openfoam-org packages.

* CONFIG: add openfoam into bash completion providers list

* ENH: have openfoam-com use spack as USERMPI

- also simplify the generation of mplib/compiler rules

* ENH: have openfoam-org use spack as SYSTEMMPI

- this setup requires more environment settings than USERMPI
  (openfoam-com), but is currently the only means of integration
  for openfoam-org

- simplify generation of mplib/compiler rules

* ENH: simplify generation of mplib/compiler rules (foam-extend)

- rename mpi rules from SPACK,SPACKMPI to USER,USERMPI for consistency
  with openfoam-com and to generalize for any build system.

* STYLE: record spack tree as a log file (openfoam)

- can be useful for future diagnostics and general record keeping
2017-03-30 16:35:57 -07:00
healther
2bd216a6a1 add package py-spykeutils (#3633)
* add package py-spykeutils

* fixed dependency version restriction
2017-03-30 10:33:09 -05:00
Massimiliano Culpo
f9c0348891 cp2k: update to 4.1 + update of dependencies (#3561)
* libint: updated version, ported to AutotoolsPackage

* elpa: updated version, ported to AutotoolsPackage

* wannier90: updated version, ported to MakefilePackage

* pexsi: updated version, ported to MakefilePackage

* cp2k: updated version, removed wannier 90 from dependencies if cp2k@4.1

* plumed: updated version

Modifications:

* modules has been turned into a single variant, as different versions
  have different modules available
* added dictionaries for patches

* netlib-scalapack: ported to CMakePackage
2017-03-30 09:46:05 -05:00
Adam J. Stewart
73f78cb8c4 Move py-dev to the proper repo directory (#3630) 2017-03-30 09:18:40 +02:00
Adam J. Stewart
da6faa086a Fix url fetching for GnuTLS (#3631) 2017-03-30 09:16:56 +02:00
George Hartzell
68415f0fe5 Concretization problem breaks httpie dependency (#3629)
* Concretization problem breaks httpie dependency

Concretization problem breaks this.  Unconditional for now...
https://github.com/LLNL/spack/issues/3628

* Flake8 cleanups
2017-03-29 18:59:54 -05:00
George Hartzell
4cd4a2da46 Add package for snakemake (#3605)
* Add package for snakemake

* Flake8 cleanups

* Add package for py-wrapt

* Address PR feedback

Switch to pypi URL.

Tighten Python3 dependency spec.

Add missing dependencies (wrapt, requests).
    - add package for wrapt.
2017-03-29 14:25:09 -05:00
George Hartzell
6138350c9e Add package for httpie (#3609)
* Add package for httpie

* Remove wayward FIXME and flake8 cleanup

* Update dependencies, address PR feedback

Fine tune dependencies (version constraints).
Add missing dependency.
Make SOCKS support a variant.

* Flake8 cleanup
2017-03-29 14:24:52 -05:00
Denis Davydov
782882c2a9 petsc: a workaround for macOS Clang 8.1.0 and XCode 8.3 (#3615) 2017-03-29 14:24:18 -05:00
healther
64a80ba822 add package py-bokeh (#3618)
* add package py-bokeh

* remove setuptools dependency

* add missing dependencies
2017-03-29 14:23:53 -05:00
healther
28db55b1a7 Allow py-py2cairo to be built with cairo~X (#3620) 2017-03-29 14:23:24 -05:00
healther
b73f1e557c add package py-pympler (#3621)
* add package py-pympler

* add python@2.5: dependency
2017-03-29 14:21:41 -05:00
healther
8e99c97d21 Add package py-pynn (#3622)
* add package py-pynn

* fix docstring

* fix dependency mess

* add python dependency
2017-03-29 14:21:13 -05:00
healther
8d87c01f62 Add py-pymongo dependencies (#3624)
* add package py-mongo

* add dependencies
2017-03-29 14:20:58 -05:00
George Hartzell
259cc02260 htslib depends_on version must match samtools (#3625) 2017-03-29 14:20:37 -05:00
Adam J. Stewart
46251eb559 Add abipy package and dependencies (#3352)
* Add abipy package and dependencies

* Add first official release of py-abipy

* Ignore files from dependencies during activation
2017-03-29 11:13:23 -05:00
healther
441170f316 add package py-mongo (#3619) 2017-03-29 02:54:09 -07:00
healther
5ba4fce428 add package py-brian2 (#3617) 2017-03-29 02:52:59 -07:00
healther
754be1b275 Add version 3.5.9 to package gnutls (#3616) 2017-03-29 01:55:02 -07:00
George Hartzell
f5bc42f229 Add Blast+ package. (#3562)
* Add Blast+ package.

Adds support for NCBI's blast+@2.6.0.  I'll be adding a few historical versions in the near future.

It's a fairly direct transliteration of the [Homebrew Science recipe][hbs].

I skipped the mysql support.

There is a problem with HDF5 support.  Blast's configure script test program defines a macro 'HOST' to a string value and one of the HDF5 bits has an variable named 'HOST'.  Fun things happen.   I've disabled support for now.

I've run very very basic tests.  I'll get this out to my users and ensure that it works and fine tune the options and etc....

[hbs]: https://github.com/Homebrew/homebrew-science/blob/master/blast.rb

* Flake8 fixes

* Update w.t.r. mamelara's PR and cleanup

Add paths to things in the --with-* config args

Add add'l config flags from #3394.

Update patch to no-op and add comment.

Add add'l dependencies after studying `configure --help`.

* Flake8 cleanup

* Add support for blast+@2.2.30

Need to work around a configure bug.  See https://github.com/Homebrew/homebrew-science/issues/2337#issuecomment-170011511.

* Re-wrap comment, line length not a problem.

I'd broken a comment across to line in a fit of flake8
induced fear.  Adam pointed out that it's ok.

* Remove explicit prefix config

Remove explicit prefix config, the autotools package does it for us.
2017-03-28 21:38:51 -05:00
George Hartzell
53b0d93a7a Add info for version 2.16 (#3601) 2017-03-28 21:37:57 -05:00
George Hartzell
14194a137a Add support for v1.9.9 (#3602) 2017-03-28 21:37:34 -05:00
George Hartzell
18a4be3e56 Add packages for jq and ongiruma (#3607)
jq is a commandline JSON processor.  Oniguruma is a regexp
library on which jq depends.
2017-03-28 21:37:10 -05:00
George Hartzell
83e661604d Add package for direnv (#3608) 2017-03-28 21:36:39 -05:00
George Hartzell
ec3eabfc7a Add package for BATS (#3611)
Add package for the BASH Automated Testing System.
2017-03-28 21:36:12 -05:00
George Hartzell
9385659aa1 bowtie2: add support for version 2.3.1 (#3599)
* Add support for 2.3.1

Updated digest and added a dependency on tbb.

* Cleanup patch name and add description
2017-03-28 21:35:46 -05:00
George Hartzell
d6cbae81c7 Update/samtools (#3595)
* Update samtools family to 1.4

* simple cleanup

* Make bzip depends_on for future versions too
2017-03-28 21:34:41 -05:00
George Hartzell
70ec06949c New package: ncftp client (#3603)
* Add package for ncftp

* Flake8 cleanups
2017-03-28 21:33:59 -05:00
George Hartzell
d94757238a New package: staden-io-lib (#3604)
* Add package for staden-io-lib

* Flake8 cleanups
2017-03-28 21:33:34 -05:00
George Hartzell
bdf0baead7 New package: mummer (#3606)
* Add package for mummer

Blocked on https://github.com/LLNL/spack/pull/3555.

* Make "check" step optional and flake8 cleanups
2017-03-28 21:27:20 -05:00
George Hartzell
81a0881a57 new package: pigz (#3612)
* Add package for pigz

* Whitespace

* Remove leftover instructions (oops...)

* Flake8 cleanup

* Convert to MakefilePackage
2017-03-28 21:15:30 -05:00
George Hartzell
e5eb8e34c5 new package: blat (#3610)
* Add package for blat

* Whitespace cleanup

* Flake8 cleanup
2017-03-28 21:14:26 -05:00
George Hartzell
1e5da65d65 Add packages for miniconda[23] (#3613) 2017-03-28 21:13:46 -05:00
George Hartzell
36f80bdfa4 Add support for version 20170322 (#3598) 2017-03-28 18:56:21 -05:00
George Hartzell
a9025e3283 Add version info for 7.4.1 (#3600) 2017-03-28 18:55:25 -05:00
George Hartzell
212b342fd3 Add support for v8.0.0503 (#3596) 2017-03-28 18:51:30 -05:00
George Hartzell
5f3e9a791f Nextflow versions 0.24.1 and 0.23.3 (#3597)
Add support for nextflow versions 0.24.1 and 0.23.3.
2017-03-28 18:50:21 -05:00
sknigh
42f9040dfe fix for #3588 (#3589)
* fix for #3588

* set 'build_directory' variable instead
2017-03-28 12:59:24 -05:00
健美猫
8378d659e7 Add a package: cub. (#3584) 2017-03-28 12:46:47 -05:00
healther
41cfb811f0 add package double-conversion (#3585) 2017-03-28 12:29:05 -05:00
healther
98d67bd060 Add new version to glog (#3586) 2017-03-28 12:28:30 -05:00
sknigh
f6b6e397cb Add SST/macro and Dumpi trace packages (#3025)
* Added packages for Structural Simulation Toolkit and Dumpi trace

* sst-dumpi deps

Remove extraneous dependency from sst-dumpi

* Removed redundant function and fake-url from sst-dumpi package

* Fixed URL, Added git branches, requested changes

sst-dumpi version listed as 6.1, made an upstream change to 6.1.0
sst-macro and sst-dumpi can be installed as v6.1.0 and master branch

* Added bootstrap. Tweaked URLs and description
2017-03-28 12:28:05 -05:00
Todd Gamblin
dead67ae56 Restore newlines to easy-install.pth files. (#3583)
Previous syntax fix in 8a873bb was not quite right.
2017-03-28 09:32:50 -07:00
Todd Gamblin
782f29bc4b Fix bug in spack find for installations with unknown namespaces. (#3573)
- Spack find would fail with "unknown namespace" for some queries when a
  package from an unknown namespace was installed.

- Solve by being conservative: assume unknown packages are NOT providers
  of virtual dependencies.
2017-03-28 08:43:43 -07:00
Todd Gamblin
e549daa8ce Bugfix: allow deactivating installs that don't have packages anymore. (#3572)
- deactivate -a wouldn't work if the installation's package was no longer
  available.

- Fix installed_extensions_for so that it doesn't need to look at the
  package.py file.
2017-03-28 08:43:15 -07:00
健美猫
d9ddf2070c Add package kaldi. (#3503) 2017-03-28 09:39:23 -05:00
Erik Schnetter
e9737ee452 googletest: Convert to CMakePackage (#3571)
* googletest: New version 1.8.0

* googletest: Simplify
2017-03-28 09:34:45 -05:00
Denis Davydov
a8c58551ae openblas: raise an error when using unsupported Apple clang (#3577) 2017-03-28 08:14:12 -05:00
Mark Olesen
89d08c5be4 CONFIG: update versions for paraview (#3537)
- drop old TCL support from paraview build.

- add +plugins variant to have include directories installed. This is
  enabled by default since the additional diskspace for includes is
  really minimal and since this also allows re-use of the VTK libraries
  from ParaView without necessarily requiring a separate VTK
  installation.

- +opengl2 is now the default. As per all newer VTK and paraview versions.

BUG: broken install for paraview-5.0.1 with includes and without python

- incorrect conditional for ui_pqExportStateWizard.h when python is
  disabled and includes are to be installed.
  gcc compiler detection patch.
  These have both been fixed in paraview 5.3.0

ENH: refactor as a CMakePackage.

- Note that "spack install paraview" works as expected, but
  "spack build paraview" fails in weird unrelated ways.
2017-03-28 08:09:22 -05:00
Peter Doak
c20cd73b4a this builds cvs CentOS Linux release 7.2.1511 (#3574) 2017-03-27 14:33:22 -07:00
Gregory Lee
1cc2d22268 Merge pull request #3570 from LLNL/packages/elfutils-preferred-version
Make 0.163 the preferred version of elfutils.
2017-03-27 11:15:46 -07:00
Gregory Lee
8a873bbd8d Fix easy-install.pth syntax (#3569) 2017-03-27 10:56:55 -07:00
Todd Gamblin
394b78637d Make 0.163 the preferred version of elfutils.
- later versions do not seem to work well with libdwarf.
2017-03-27 10:14:49 -07:00
George Hartzell
625a1634bb Update to version 0.4.8-1 (#3568) 2017-03-27 11:24:51 -05:00
George Hartzell
9f19cb4193 Bugfix/gnutls (#3565)
* Fix nettle dependency

GnuTLS requires a nettle from the 2.7 series, won't work
with 3.x (so sayeth configure when it crashes...).

* Fix configure symlinking GNUmakefile to itself

I'm confused about how this ever worked, but....

As configure runs, it does something like this:

```
config.status: linking /home/hartzelg/tmp/spack/var/spack/stage/gnutls-3.3.9-uq2u4ecucncv2l3akran765aystyvkys/gnutls-3.3.9/GNUmakefile to GNUmakefile
```

and since that is the cwd the build crashes with:

```
==> 'make' '-j28'
make: GNUmakefile: Too many levels of symbolic links
make: stat: GNUmakefile: Too many levels of symbolic links
make: *** No rule to make target `GNUmakefile'.  Stop.
```

Since the comment in the configure script points out that the
GNUmakefile is "only for the maintainer" I've just commented out the
bit that leads to the symlinking.

Builds for me on CentOS 7.  (I do have a recent-ish set of auto-*
things in my patch via linuxbrew)

* Wordsmith

* Fix symbolic link problem properly

Autotools magic.  See #3565 for the details.

* Flake8 cleanup

* Add some headroom on the version number constraint

We really want < 3.0 but there's not a good way to express it.

We'd like to avoid having to update the file if they release 2.7.2.

This seems like a good compromise.
2017-03-27 10:29:56 -05:00
Mark Olesen
f3ee4ec5bd CONFIG: update qt package to build qt-5.7.1 (#3535)
- adjusted formatting to reduce some flake8 complaints
2017-03-27 08:29:33 -05:00
健美猫
a623a146de fftw: Add 3.3.6-pl2, remove 3.3.6-pl1. (#3566) 2017-03-27 07:55:16 -05:00
Mark Olesen
1c73f9d92f ENH: add int64 variant to scotch (as per metis +int64) (#3536)
BUG: provide patch for scotch 6.0.4 if building non-threaded

- corresponds to issue #20179 from the scotch issue trackter
2017-03-27 07:48:14 -05:00
George Hartzell
dd79630464 Update texlive digest/md5 (sigh...) (#3564) 2017-03-26 19:26:33 -05:00
George Hartzell
2d78b3113c Nettle: new version (#3563)
gnutls needs nettle from the 2.7 series.  Might as well give it
the latest.
2017-03-26 19:26:07 -05:00
Denis Davydov
2b3ce576a5 tbb: add 2017.5 (#3560) 2017-03-26 09:38:18 +02:00
Denis Davydov
b8486f413a mumps: add 5.1.1 (#3557) 2017-03-26 09:33:44 +02:00
Denis Davydov
a14f9491db hypre: add 2.11.2 (#3556) 2017-03-26 09:32:49 +02:00
Denis Davydov
57ef184254 superlu-dist: add 5.1.3 (#3559) 2017-03-26 09:31:32 +02:00
Denis Davydov
1e9eae4bfa suite-sparse: add 4.5.4 (#3558) 2017-03-26 09:26:57 +02:00
George Hartzell
bfd2db0c76 Add url_for_version and depends_on('libiconv') (#3555)
* Add url_for_version and depends_on('libiconv')

Fetching is broken.  See https://github.com/LLNL/spack/issues/3554.

libgd, when used in gnuplot at least, needs a dependency
on libiconv.

* Undo change from debugging pokery
2017-03-25 20:06:09 -05:00
Michael Kuron
55300d1181 pnfft: new package (#2646)
* pnfft: new package

* Convert some packages with overridden install from AutotoolsPackage to Package

* pnfft: fix URL

* Switch FFTW-derived packages back to AutotoolsPackage

* Disable unneeded build phases in FFTW and derived packages

* Separate build phases for FFTW and derived packages

* Fix broken merge

* fftw: pfft_patches for 3.3.6

* fftw: address @adamjstewart’s review comments
2017-03-25 14:27:52 -05:00
Brian Van Essen
3af971165a Added a package for Nvida NCCL (#3552) 2017-03-24 17:53:16 -07:00
Denis Davydov
61d01a71dd make git fetching quite (#3180)
also output repo and branch/commit/tag in one line
2017-03-24 17:37:47 -07:00
Adam J. Stewart
6461737bba Add latest version of util-linux (#3551) 2017-03-24 16:44:54 -05:00
Adam J. Stewart
821155470c Add mozjs package (#3550) 2017-03-24 16:31:59 -05:00
Adam J. Stewart
c97d79b150 Add old version of zlib (#3549) 2017-03-24 16:31:31 -05:00
Adam J. Stewart
5297d3d2ff Add NSPR package (#3548) 2017-03-24 16:23:01 -05:00
Adam J. Stewart
78301396f0 Add linux-headers package (#3547) 2017-03-24 16:22:36 -05:00
Adam J. Stewart
50f4f0827d Add libcap package (#3546) 2017-03-24 16:02:01 -05:00
Adam J. Stewart
0b4c39a9e0 Various updates to the intltool package (#3545) 2017-03-24 15:45:08 -05:00
Adam J. Stewart
df777bf077 Add autogen package (#3542) 2017-03-24 15:44:34 -05:00
Adam J. Stewart
eca8f548dc coreutils can no longer be built in-source (#3543) 2017-03-24 15:44:01 -05:00
George Hartzell
b5acd5e44b Fix r package, tk no longer has an X variant (#3544)
Tk recently lost its X variant (it now always uses X).

That broke r, this commit fixes it.

Tested on CentOS 7.
2017-03-24 15:43:25 -05:00
Adam J. Stewart
08799eac23 Add latest version of GNU Guile (#3541) 2017-03-24 15:20:52 -05:00
Adam J. Stewart
a60210f6b2 Add latest version of bdw-gc (#3539) 2017-03-24 15:20:25 -05:00
Adam J. Stewart
8a463c07ea Convert libatomic-ops to AutotoolsPackage (#3540) 2017-03-24 15:13:05 -05:00
Adam J. Stewart
3c96749622 Add latest version of libunistring (#3538) 2017-03-24 14:57:42 -05:00
Adam J. Stewart
1fe987949f Clean up the gcc package (#3511)
* Clean up the gcc package

* Add preliminary testing support

* Older versions of GCC do not depend on MPC

* DejaGnu 1.4.4 cannot be built in parallel

* Fix GCC test dir

* Add two more deps required to run the testsuite
2017-03-24 14:56:22 -05:00
Mark Olesen
268d48b407 CONFIG: update mxml versions (#3534) 2017-03-24 14:22:26 -05:00
Jimmy Tang
be5bb33aac Initial add of dev package (#3533)
* Initial add of dev package

* Use a more acceptable URL
2017-03-24 13:12:57 -05:00
健美猫
c68295df2c Add cuda support for gromacs. (#3527) 2017-03-24 07:48:08 -05:00
George Hartzell
4a36f23fa8 Add release info for git v2.12.1 (#3532)
Add info for git and git-manpages.

Built/tested on CentOS7.
2017-03-23 17:43:28 -05:00
Adam J. Stewart
929a3317e9 Add env vars for Intel VTune Amplifier (#3531)
* Add env vars for Intel VTune Amplifier

* Flake8 fix
2017-03-23 15:58:12 -05:00
Adam J. Stewart
10b49fd845 Add DejaGnu package (#3518) 2017-03-23 14:35:38 -05:00
Adam J. Stewart
4ecfc39e1e Add Expect package (#3517)
* Add Expect package

* Ignore patches during flake8 tests for package.py files

* Remove controversial changes
2017-03-23 14:35:11 -05:00
Adam J. Stewart
ace890af49 Only configure requested lammps features (#3526)
* Only configure requested lammps features

* Run configure from root and make from src
2017-03-23 12:28:17 -05:00
Adam J. Stewart
4e8a59a062 Add patch to fix xcb-proto make check (#3520) 2017-03-22 16:17:01 -05:00
Howard Pritchard
7c82db07ac Open MPI: add new packages (#3519)
there were various updated packages, both for the 2.x, 2.0.x,
and 1.10.x release branches of Open MPI.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
(cherry picked from commit 3b671935783fc3af76dc642a54461c2f02ab8ebf)
2017-03-22 16:16:32 -05:00
Jeffrey Salmond
f225741d07 configure vtk with external hdf5 and netcdf packages (#3504)
* configure vtk with external hdf5 and netcdf packages

* remove ~mpi constraints from hdf5 and netcdf
2017-03-22 14:53:05 -05:00
Erik Schnetter
7e7045e0ca llvm: Install utilities into libexec (#3516) 2017-03-22 09:01:10 -07:00
Jimmy Tang
31e28f9662 Update googletest (#3514) 2017-03-22 06:57:20 -05:00
Gregory Lee
606c5fbc5f patch readline to fix ipython seg fault (#3512) 2017-03-21 16:24:13 -07:00
Adam J. Stewart
07397e8ef7 Convert gettext to AutotoolsPackage (#3510) 2017-03-21 17:40:45 -05:00
George Hartzell
9b5f5fccf0 Fix for find --explicit #3374 (#3492)
This fixes the problem described in #3374, which describes `spack find` ignore explicit/implicit.

I believe that this was broken in #2626.

This restores the behavior of implicit/explicit for me.

I believe that it does not screw anything else up, but ....
2017-03-21 15:30:38 -07:00
Adam J. Stewart
657110f9d7 Convert isl to AutotoolsPackage (#3507) 2017-03-21 12:11:03 -05:00
Adam J. Stewart
ed9dec2259 Add recommended patches to mpfr package (#3506) 2017-03-21 11:25:14 -05:00
Kim Serradell
3923bdca90 Replacing failing git clone by valid url (#3505)
* Replacing failing git clone by valid url

* Moving to previous version package (0.163)

* Removing automake and autoconf dependencies and adding url_list to pick up newer versions

* Corrected typo

* Reorder versions and removed libtool
2017-03-21 10:50:34 -05:00
健美猫
babeb32c6d Add package openfst. (#3324) 2017-03-21 09:53:58 -05:00
Erik Schnetter
75c6c9f1ee llvm: Don’t copy “prefix/bin” into “prefix” during install (#3460) 2017-03-20 20:46:29 -05:00
Adam J. Stewart
777acb4c03 Fix: setuptools is a runtime dependency for pudb (#3502) 2017-03-20 18:08:45 -05:00
Adam J. Stewart
d31bbe450b Add latest version of binutils (#3500) 2017-03-20 18:07:37 -05:00
Michael Kuhn
0be9cee984 Update leveldb to 1.20 (#3441) 2017-03-20 15:07:24 -05:00
Erik Schnetter
79d0e7a5d7 gasnet: Update to 1.28.2 (#3496) 2017-03-20 15:05:23 -05:00
Erik Schnetter
ae8380c4fb cereal: Update to 1.2.2 (#3499) 2017-03-20 15:05:02 -05:00
Erik Schnetter
91dd854694 jemalloc: Update to 4.5.0 (#3497) 2017-03-20 15:04:34 -05:00
Erik Schnetter
68a4706b1e py-yt: Update to 3.3.5 (#3498) 2017-03-20 15:04:17 -05:00
scheibelp
19dca26f3a Improve output for compiler commands (#3480)
* Order listed compiler sections

"spack compiler list" output compiler sections in an arbitrary order.
With this commit compiler sections are ordered primarily by compiler
name and then by operating system and target.

* Compiler search lists config files with compilers

If a compiler entry is already defined in a configuration file that
the user does not know about, they may be confused when that compiler
is not added by "spack compiler find". This commit adds a message at
the end of "spack compiler find" to inform the user of the locations
of all config files where compilers are defined.
2017-03-20 12:36:44 -07:00
Matthew LeGendre
5ac6421f14 Fix issue with config.guess patching when the overwritten config.guess did not have write permissions. (#3494) 2017-03-20 12:35:38 -07:00
Erik Schnetter
22f3c9de84 fftw: Update to 3.3.6-pl1 (#3495) 2017-03-20 12:35:08 -07:00
健美猫
1655161ebb Add ffmpeg package. (#3470) 2017-03-19 10:12:34 -05:00
健美猫
fb248f17fb Substitue ftp:// with http:// (#3491) 2017-03-19 10:11:06 -05:00
健美猫
14c181e480 Add new version for intel package: 16.0.4 17.0.2 . (#3490) 2017-03-19 07:57:06 -05:00
Todd Gamblin
1297e47463 Use byte-encoded UTF-8 for sourced environment in Python 2 (#3489)
- Fixes recurring errors on develop with unicode commit characters.
- still Python3-proof: python3 will use str instead of bytestrings.
2017-03-18 22:48:20 -07:00
Erik Schnetter
a0ab3c2523 hdf5: Clean up building self-tests (#3483)
* hdf5: Clean up building self-tests

* hdf5: Clean up running self-tests
2017-03-18 20:14:47 -05:00
Adam J. Stewart
4866b4592f Add missing dependencies to gawk (#3481)
* Add missing dependencies to gawk

* Fix make check

* Add mawk packages and awk virtual dependency

* Use mawk instead of gawk to build ncurses

* Rearrange order of patches and dependencies
2017-03-18 19:13:32 -05:00
Adam J. Stewart
9d0a3c6b05 Fix deptype of various dependencies on Python packages (#3486) 2017-03-18 15:20:16 -05:00
Javier
6b97f538cf Adding new packages: py-argparse and py-importlib (#3488) 2017-03-18 13:45:29 -05:00
Adam J. Stewart
773357e20f setuptools is a runtime dependency of virtualenv (#3485) 2017-03-17 16:25:48 -05:00
Erik Schnetter
a2235fed41 julia: Create cacert directory manually to ensure correct permissions (#3482) 2017-03-17 16:07:49 -05:00
Javier
b0d9088603 Adding new package: py-future (#3401)
* Adding new package: py-future

* Commenting out deps needed when installing python@2.6
2017-03-17 13:59:38 -05:00
Adam J. Stewart
10b767b93f Don't use @system in packages.yaml (#3472) 2017-03-17 07:55:55 -07:00
Adam J. Stewart
5f13e40655 Add package for ESMF (#2831)
* Add package for ESMF

* Apparently mvapich2 is supported?
2017-03-17 09:21:25 -05:00
Adam J. Stewart
2c39f16d44 Add version constraints to VTK patch (#3357) 2017-03-17 09:19:44 -05:00
Erik Schnetter
19b3afebc9 hpx5: Convert to AutotoolsPackage, several updates (#3456)
* hpx5: Convert to AutotoolsPackage, several updates

- convert to AutotoolsPackage
- add several variants
- add several dependencies
- add new version 4.0.0
- don’t set compiler flags explicitly

* hpx5: Don’t import os

* hpx5: Clean up configure arguments

* hpx5: Correct libffi configure declaration

Also add new variant “+instrumentation”.

* hpx5: Correct CUDA, MPI, OpenCL configuration

* hpx5: Use built-in libffi

Spack’s libffi installs its headers in a strange place, and hpx5 can’t pick them up.
2017-03-17 09:11:02 -05:00
Erik Schnetter
e7bf8034b0 libpciaccess: Convert to AutotoolsPackage, remove Darwin work-around (#3459)
* libpciaccess: Convert to AutotoolsPackage, remove Darwin work-around

Other packages that depend on libpciaccess can do so via a conditional dependency (via a variant); we don’t need a dummy package for Darwin any more.

* Disable libpciaccess dependency on non-Darwin platforms

* hwloc: Remove direct dependency on libpciaccess
2017-03-17 09:09:09 -05:00
Michael Kuhn
1124bdc99e Add packages libbson and libmongoc (#3440) 2017-03-16 23:16:30 -07:00
Erik Schnetter
9c1885022e simulationio: New package (#3422)
* simulationio: New package

* simulationio: Rename development version to “develop”

* simulationio: Try to make flake8 happy

* simulationio: Correct flake8 error

* simulationio: Extend Python

* simulationio: Remove unused imports
2017-03-16 23:06:47 -07:00
Adam J. Stewart
386462c0cb Add latest version of NCO (#3469) 2017-03-16 21:39:41 -07:00
Brian Van Essen
3f17f761fe Py keras extension (#3468)
* Added support for building Theano with GPU support.  Added a package
for the libgpuarry libary needed for Theano.

* Added dependency on py-pexpect package which ipython requires.
2017-03-16 21:24:36 -07:00
scheibelp
0b27a7e13d Detect when OS updates affect compiler selection (#3410)
Fixes #1476

Concretization uses compilers defined in config files and if those
are not available defaults to searching typical paths where the
detected operating system would have a compiler. If there is an OS
update, the detected OS can change; in this case all compilers
defined in the config files would no longer match (because they would
be associated with the previous OS version). The error message in
this case was too vague. This commit adds logic for detecting when it
is likely that the OS has been updated (in particular when that
affects compiler concretization) and improves the information provided
to the user in the error message.
2017-03-16 21:08:13 -07:00
scheibelp
5936ad2ca7 Dont propagate flags between different compilers (#3379)
* Dont propagate flags between different compilers

Fixes #2786

Previously when a spec had no parents with an equivalent compiler,
Spack would default to adding the compiler flags associated with the
root of the DAG. This eliminates that default.

* added test for compiler flag propagation

* simplify compiler flag propagation logic
2017-03-16 21:07:35 -07:00
Todd Gamblin
328b2142f5 Fix Qt4 build on Yosemite (10.11) (#3444) 2017-03-16 17:55:06 -07:00
Erik Schnetter
4f05fb4b3f gasnet: Convert to AutotoolsPackage, update (#3455)
* gasnet: Convert to AutotoolsPackage, update

- convert to AutotoolsPackage
- add new version 1.28.0
- create variants for IB and MPI support

* gasnet: Don’t specify prefix explicitly

* gasnet: Add missing variant descriptions

* gasnet: Correct syntax error
2017-03-16 18:12:25 -05:00
scheibelp
9a27dec8e8 Dont auto-init compiler conf for 'compiler find' (#3439)
Fixes #3428

Users can run 'spack compiler find' to automatically initialize their
compilers.yaml configuration file. It also turns out that Spack will
implicitly initialize the compilers configuration file as part of
detecting compilers if none are found (so if a user were to attempt to
concretize a spec without running 'spack compiler find' it would not
fail). However, in this case Spack was overlooking its own implicit
initialization of the config files and would report that no new
compilers were found. This commit removes implicit initialization when
the user calls 'spack compiler find'.

This did not surface until #2999 because the 'spack compiler' command
defaulted to using a scope 'user/platform' that was not accounted for
in get_compiler_config (where the implicit initialization logic
predates the addition of this new scope); #2999 removed the scope
specification when checking through config files, leading to the
implicit initialization.
2017-03-16 11:24:34 -07:00
Adam J. Stewart
99ef28b5d2 Add latest version of lmod (#3467) 2017-03-16 12:50:30 -05:00
Adam J. Stewart
4c7a721341 Add latest version of git, convert to AutotoolsPackage (#3466) 2017-03-16 12:50:10 -05:00
Erik Schnetter
2eda08f192 julia: New variant +simd (#3458) 2017-03-16 11:49:37 -05:00
Erik Schnetter
83fe65e121 hwloc: Add missing dependencies (#3457)
* hwloc: Add missing dependencies

- add several missing dependencies
- add variants for various features
- add new version 1.11.6

* hwloc: Add descriptions to variants
2017-03-16 11:48:39 -05:00
Erik Schnetter
53ca628d8b qthreads: New version 1.12 (#3464) 2017-03-16 10:08:48 -05:00
Erik Schnetter
a609d22b95 pocl: Introduce virtual package “opencl” (#3461)
OpenCL is a standard like MPI, with several versions and several implementations.
2017-03-16 09:47:46 -05:00
Erik Schnetter
d6a7000aee py-numpy: Correct typos in comment (#3462) 2017-03-16 09:45:09 -05:00
Erik Schnetter
19a90ccc19 py-scipy: New version 0.19.0 (#3463) 2017-03-16 09:39:26 -05:00
Javier
9e1e3a203a Adding new package: py-jpype (#3402)
* Adding new package: py-jpype

* Moving jdk dependency
2017-03-16 06:37:09 -05:00
Adam J. Stewart
4518ff0150 Add latest version of lua (#3454) 2017-03-15 21:28:56 -05:00
Adam J. Stewart
a40ccc24d6 Add latest version of pcre (#3453) 2017-03-15 21:28:29 -05:00
Adam J. Stewart
72890f4840 Add latest version of readline (#3452) 2017-03-15 20:36:24 -05:00
Adam J. Stewart
caf209bdd7 Add latest version of libiconv (#3451) 2017-03-15 20:08:01 -05:00
Gregory Lee
d0060bc318 added parallel studio composer edition 2017.2 (#3450) 2017-03-15 18:51:18 -05:00
Adam J. Stewart
7be728d551 Add latest version of libsigsegv (#3449) 2017-03-15 18:00:17 -05:00
Adam J. Stewart
9f1af5913b Add latest version of cURL (#3447) 2017-03-15 16:01:10 -05:00
Adam J. Stewart
41114c3e76 Add latest version of Intel Parallel Studio (#3445) 2017-03-15 13:46:48 -05:00
健美猫
9af7bef10b Add version 4.0 for foam-extend. (#3442) 2017-03-15 13:02:36 -05:00
Adam J. Stewart
dca4d2b15e Consistent docs and usage of env mod methods (#3351) 2017-03-14 22:26:44 -07:00
Denis Davydov
560d28ac7f fix automatic mixing of clang with gfortran 6.3.0 on macOS (#3427)
* fix automatic mixing of clang with gfortran 6.3.0 on macOS
* automatically mix any gfortran with any clang on macOS
* adjust the unit test
2017-03-14 09:48:27 -07:00
Massimiliano Culpo
8c3edfd36f test/file_cache.py: ported to pytest (#3429) 2017-03-14 09:07:04 -07:00
Adam J. Stewart
64bd7adefa Fix vim ~gui behavior (#3432) 2017-03-14 07:45:17 -07:00
Adam J. Stewart
5430d45db1 Add latest version of openpyxl and missing dependencies (#3431) 2017-03-14 07:44:46 -07:00
Adam J. Stewart
b203058891 Fix zlib %pgi build (#3436) 2017-03-14 07:43:54 -07:00
Erik Schnetter
415c9398d2 ncurses: Use gawk as awk (#3425) 2017-03-14 07:43:02 -07:00
Todd Gamblin
d11e262b36 Fix from_sourcing_files(): decode json input as utf-8 (#3433) 2017-03-13 15:52:36 -07:00
Erik Schnetter
9121599145 New package pocl (#3413)
* New package pocl

* pocl: Update dependencies, add self-test

* pocl: Don't require LLVM shared libraries

LLVM build fails with shared libraries.

* Add patch

* Update

* Update

* Make build and install work; install test still fails

* Split pocl into pocl proper and pocl-test

* Add debug output

* pocl: Update to 0.14-rc

* pocl: Correct flake8 error

* pocl: Heed code review recommendations

* pocl: Add newline at end of file

* pocl: Correct flake8 error

I don’t want to use an even longer line by putting the whole variant declaration onto a single line, nor do I think that having an overlong line and adding `# noqa` at the end is more readable than splitting a string over three lines.

* pocl: Correct dependency type for libtool
2017-03-12 12:52:18 -05:00
Denis Davydov
0b948da74c gnuplot: fixed broken package and add variants (#3185)
* gnuplot: fix conflict in header via a simple patch; add variants

* gtkplus: fix missing dependency

* wx: fix build on macOS; switch to AutotoolsPackage

* gnuplot: add missing dependencies

* wx: put back parallel build
2017-03-12 09:37:26 -05:00
Erik Schnetter
d8f1446265 julia: New version 0.5.1 (#3418)
* julia: New version 0.5.1

* julia: Define url on a single line
2017-03-11 21:04:44 -06:00
Erik Schnetter
9a14597493 autoconf: Correct m4 dependency declaration (#3415)
* autoconf: Correct m4 dependency declaration

Closes #3406.

* autoconf: Correct m4 dependency type

* autoconf: Update comment
2017-03-11 21:04:18 -06:00
Erik Schnetter
02db630985 hwloc: Disable OpenCL (#2854)
* hwloc: Disable OpenCL

* hwloc: Convert `install` to `configure_args`
2017-03-11 20:59:06 -06:00
Erik Schnetter
41a3957540 libxsmm: Add header-only variant (#3419)
* libxsmm: Add header-only variant

* libxsmm: Implement requestes from code review

* libxsmm: Correct error in previous simplification

* libxsmm: Raise error if `header-only` variant is not supported by version

* libxsmm: Correct flake8 errors
2017-03-11 16:00:47 -06:00
Erik Schnetter
18ac76b320 bison: Declare m4 dependency correctly (#3424)
* bison: Declare m4 dependency correctly

* bison: Declare m4 as run-time dependency
2017-03-11 15:58:57 -06:00
Erik Schnetter
23d4a60639 funhpc: New package (#3421)
* funhpc: New package

* funhpc: Rename development version to “develop”

* funhpc: Try to make flake8 happy

* funhpc: Correct flake8 error
2017-03-11 15:58:09 -06:00
Erik Schnetter
63a8f79980 Correct inconsistency in comment (#3414) 2017-03-11 12:52:08 -06:00
Erik Schnetter
7e3eaba899 hdf5-blosc: Update compiler selection in self-test (#3417) 2017-03-11 12:50:54 -06:00
Erik Schnetter
093ffdfa45 cuda: Allow using unknown compilers (#3416)
* cuda: Allow using unknown compilers

* cuda: Correct flake8 error
2017-03-11 12:42:02 -06:00
Erik Schnetter
b30637e1ce py-yt: New version 3.3.4 (#3420) 2017-03-11 12:39:33 -06:00
Erik Schnetter
48640cf2fa binutils: Add gettext dependency (#3423) 2017-03-11 12:38:51 -06:00
Elsa Gonsiorowski
eef2021d91 pdsh basic package (#3408)
* added basic pdsh package

* need link to actual archive file
2017-03-11 09:12:26 -06:00
Todd Gamblin
e3101808ae Make multimethods work with inheritance. (#3411)
Previously, this would fail with a NoSuchMethodError:

    class Package(object):
        # this is the default implementation
        def some_method(self):
            ...

    class Foo(Package):
        @when('platform=cray')
        def some_method(self):
            ...

        @when('platform=linux')
        def some_method(self):
            ...

This fixes the implementation of `@when` so that the superclass method
will be invoked when no subclass method matches.

Adds tests to ensure this works, as well.
2017-03-11 05:48:36 -08:00
Mario Melara
15f80ed15c Add paths to PKG_CONFIG_PATH to find cray .pc file (#3378)
* Add paths to PKG_CONFIG_PATH to find cray .pc file

Adds two paths: /usr/lib64/pkgconfig and /usr/local/lib64/pkgconfig.

cray pkg-config looks at two different paths which are not included
in PKG_CONFIG_PATH environment variable. This PR addresses #3167.

* Flake8 fixes

* flake8 fix again
2017-03-10 16:29:20 -08:00
scheibelp
e727f56d89 Features/compiler config consistency (#2999)
* default scope for config command is made consistent with cmd/__init__ default

* dont specify a scope when looking for compilers with a matching spec (since compiler concretization is scope-independent)

* config edit should default to platform-specific file only for compilers

* when duplicate compiler specs are detected, the exception raised now points the user to the files where the duplicates appear

* updated error message to emphasize that a spec is duplicated (since multiple specs can reference the same compiler)

* 'spack compilers' is now also broken down into sections by os and target

* Added tests for new compiler methods
2017-03-10 13:58:48 -08:00
Javier
68f5b9adf8 Adding new package: py-lxml (#3403)
* Adding new package: py-lxml

* Adding missing version
2017-03-10 13:18:17 -06:00
Javier
a1e8644f63 Adding new package: py-elasticsearch (#3398)
* Adding new package: py-elasticsearch

* Adding missing dependency
2017-03-10 12:48:41 -06:00
Javier
0c9ddeafe4 Adding new package: py-keras (#3400)
* Adding new package: py-keras (and dependencies)

* Fixing dependencies
2017-03-10 12:48:22 -06:00
Jon Rood
6066526492 Confining CPPFLAGS=-P to only happen for GCC. (#3404) 2017-03-10 12:48:03 -06:00
Javier
22d7f9da40 Adding new package: py-py4j (#3390)
* Adding new package: py-py4j

* Adding missing depedency
2017-03-10 07:30:28 -06:00
Javier
a7f35b3db6 Adding new package: py-joblib (#3399) 2017-03-10 07:30:01 -06:00
Javier
84db03b5a8 Adding new package: vdt (#3396) 2017-03-10 07:08:41 -06:00
Javier
901f044bbf Adding new package: vc (#3397) 2017-03-10 07:08:17 -06:00
Javier
f0fd0156de Adding new package: py-pathos (and dependencies) (#3391)
* Adding new package: py-pathos (and dependencies)

* Fixing required versions
2017-03-09 17:28:32 -06:00
George Hartzell
611df0bebf New gcc uses C++14 mode, this fixes implicit conversion (#3392)
* New gcc uses C++14 mode, this fixes implicit conversion

The issue is described in depth [here][desc].  C++14 no longer
allows implicit conversion from iostream classes to void*.

This patch comes directly from [PR #6][patch].

[desc]: http://stackoverflow.com/questions/38659115/make-fails-with-error-cannot-convert-stdistream-aka-stdbasic-istreamchar
[patch]: https://github.com/agordon/libgtextutils/pull/6

* mend
2017-03-09 17:27:56 -06:00
Javier
ebd5066d07 Adding new package: py-4suite-xml (#3389) 2017-03-09 13:44:37 -06:00
Gregory Lee
604b75c1f9 created elf virtual package and updated dependent packages (#3317)
* created elf virtual package and updated dependent packages
* added `hide_files` context manager to handle moving files.
2017-03-09 10:36:32 -08:00
Erik Schnetter
2ac343e92e cosmomc: New package CosmoMC (#3292)
* cosmomc: New package CosmoMC

* cosmomc: Improve version numbering scheme

* planck-likelihood: New package

* cosmomc: Pacify flake8

* cosmomc: Code cleanup as requested in the review

* cosmomc: Various updates suggested during review

* cosmomc: Limit compiler versions (as documented in the build instructions)

* cosmomc: Correct flake8 error

* cosmomc: Use `libs` instead of `lapack_libs`

* planck-likelihood: Make makefile output more verbose and readable

* planck-likelilhood: Correct order of libraries when calling linker

* cosmomc: Clean up check for suitable compiler

* planck-likelihood: Use modern mechanism to set environment variables
2017-03-09 08:14:13 -06:00
Brian Van Essen
21e913bac5 Updated the spectrum-mpi package to get the right compiler names when (#3381)
we use spectrum.
2017-03-09 08:11:59 -06:00
Michael Kuhn
44b165461a udunits2: Add build dependency on texinfo (#3383) 2017-03-09 08:11:23 -06:00
Michael Kuhn
c1f8fbed34 ncl: Update to 6.4.0 (#3384) 2017-03-09 08:11:06 -06:00
Javier
e8c8e444e8 Fixing checkum of py-coverage v4.3.4 (#3386) 2017-03-09 08:10:45 -06:00
Massimiliano Culpo
f2c1cbdcd3 patch: configure and build out of source fixes #3387 (#3388) 2017-03-09 07:40:05 -06:00
Brian Van Essen
acf95c92a6 Fixes the Elemental and LBANN packages to conform to the new syntax (#3382)
introduced by PR https://github.com/LLNL/spack/pull/1875
2017-03-08 14:32:26 -06:00
healther
bacb60457d Add package py-guiqwt and dependencies (#3334)
* add package py-guiqwt with dependencies

* fixed url

* fixed url2

* Update package.py

* Update package.py
2017-03-08 10:18:57 -06:00
Massimiliano Culpo
f1d66467e3 package.py: packages dump build dependencies in prefix (#3373)
Modifications:
- `dump_packages` copies build dependencies into `$prefix/.spack`, as well as the link/run dependencies that we already copied there.
- fake installs copy dependency packages into `$prefix/.spack` as well
2017-03-07 07:05:45 -08:00
Massimiliano Culpo
c6d9a45f18 test/environment.py: ported to pytest, added a test on separators (#3375) 2017-03-07 07:03:12 -08:00
AP97
3d9cd72e33 Adding farmhash package from google (#3239)
* Adding farmhash package from google
2017-03-07 07:02:08 -08:00
Aidan San
5d1a16805e Added gemmlowp package (#3240) 2017-03-07 07:00:53 -08:00
Hans Pabst
2ae1ebbbe8 LIBXSMM 1.7.1 (#3371)
* Cleanup list of offered versions (only the latest update release of each minor version is kept: 1.4.4, 1.5.2, 1.6.6, 1.7.1); introduced master revision (via Git). Slightly more selective installation of the documentation; copy README.md and LICENSE files to documentation folder. Removed outdated build options (make_args); generally stay with LIBXSMM's defaults (general purpose build). Introduced one build variant ("debug").

* Incorporated comments of PR #3371 (https://github.com/LLNL/spack/pull/3371).

* Fixed flake8 complaints.

* Made the full list of versions available starting with version 1.4 (there are earlier releases, however those have been released before the Spack specification became available; original spec. also started with 1.4).

* Made DBG and TRACE actually two separate arguments.
2017-03-07 06:58:17 -08:00
Erik Schnetter
55e1550a59 openblas: Run tests only when requested (#3370)
The tests fail on some systems (e.g. Comet at SDSC) that impose limits on the number of processes or threads one can run simultaneously on the head node. Thus the tests should not be run by default.
2017-03-05 12:29:02 -06:00
Barry Smith
00d6cb9a8f Fixes veclibfort which was broken by PR1875 (#3368)
Funded-by: IDEAS
Project: IDEAS/xSDK
Thanks-to: Adam J. Stewart
2017-03-05 07:34:38 -06:00
healther
a7bab8a418 add package py-py-cpuinfo (#3339)
* add package py-py-cpuinfo

* renamed package to py-cpuinfo
2017-03-04 20:12:37 -06:00
Adam J. Stewart
a2d70a45fb Allow find_libraries to accept lists or strings (#3363)
* Allow find_libraries to accept lists or strings

* Convert one more example from list to string
2017-03-04 11:23:57 -06:00
Massimiliano Culpo
192a4b30f0 atlas: added a missing property decorator (#3366) 2017-03-04 10:24:48 -06:00
Denis Davydov
a36ed7fb9b fix blas/lapack usage after PR 1875 (#3365) 2017-03-04 09:42:02 -06:00
serbanmaerean
c3ac86310e ADIOS: change subclassing from Package to AutotoolsPackage (#3230)
* ADIOS: change the invocation of python script that generates test files

The python script ADIOS*/utils/gpp/gpp.py is invoked directly in the
ADIOS*/tests/genarray/Makefile and the name of the python interpreter
can be quite long if it is one built under spack, i.e. longer than the
80 characters allowed by the #! line in bash.  The name of the shbang
line is truncated at 80 characters and bash cannot find the python
interpreter specified.

This fix changes how the script is executed, by invoking it under
python. This way, the shbang line is ignored.

* adios: fixed flake8 errors from previous commit.

* adio: Switch to AutotoolsPackage class from Package class

Switched in order to add support for the ppc64le platform.
2017-03-04 07:53:50 -06:00
Jon Rood
0c1441c3e3 Using fPIC in PERL when using an Intel compiler. (#3355) 2017-03-04 07:50:38 -06:00
Adam J. Stewart
d52ac82f95 Convert gl2ps to CMakePackage (#3360)
* Convert gl2ps to CMakePackage

* Remove unused spec variable
2017-03-04 07:49:57 -06:00
Erik Schnetter
3e4fced7d8 ncurses: Work around an awk bug (#3361) 2017-03-04 07:49:12 -06:00
healther
1e6871add1 correct ipython dependency (#3332)
* correct ipython dependency

* needed to introduce a github download for py-jedi

* corrected dependencies

* restrict appnope dependency to darwin>10.8

* flake8 fix
2017-03-04 07:45:07 -06:00
healther
16c08fb5b3 add package py-junit-xml (#3336)
* add package py-junit-xml

* Update package.py

* flake8 fix
2017-03-04 07:44:36 -06:00
eklee15
c4e7cfe02b Added magma package (#3273)
* Added magma package

* Incorporated Serban's change

* Removed cmake dependency
2017-03-03 21:37:29 -06:00
healther
f34cd4be2b add package py-neo and py-quantities (#3337)
* add package py-neo and py-quantities

* Update package.py

* fixed errors
2017-03-03 21:34:20 -06:00
healther
ec81643906 add package py-pyminifier (#3340) 2017-03-03 21:34:04 -06:00
healther
b6ebfdaa60 add package py-serial (#3341)
* add package py-serial

* fixed setuptools dependency
2017-03-03 21:33:48 -06:00
healther
16e77086e0 add package py-pyfftw (#3342)
* add package py-pyfftw

* Update package.py
2017-03-03 21:33:31 -06:00
Adam J. Stewart
e7b019bf48 Revert "Make libgcc_s relocatable on Macos by adding @rpath to installname" (#3349) 2017-03-03 21:32:44 -06:00
Denis Davydov
003e841016 openblas: fix flags (#3344) 2017-03-03 19:30:35 -06:00
Andrew Holler
1cf8dbd200 features/highwayhash (#3242)
* Adding highwayhash package from Google

* Added the highwayhash package for Tensorflow

* Fixed the numerous flake8 issues

* fixed requested changes

* added conditionals for some installs

* forgot an import

* create install directories before you install anything in them
2017-03-03 19:00:43 -06:00
healther
8333c56ab8 add versions to package py-pandas (#3338) 2017-03-03 16:35:04 -06:00
Adam J. Stewart
678603f3cc scipy build fails when built in parallel (#3275) 2017-03-03 16:31:03 -06:00
Joschka Lingemann
7ef95767ee Fix error raised for multiple virtual packages. (#3306) 2017-03-03 16:30:32 -06:00
Erik Schnetter
37eb59622d opencoarrays: Correct download url, update version (#3322) 2017-03-03 16:29:56 -06:00
健美猫
9ec148e484 Add package sga. (#3330) 2017-03-03 16:28:34 -06:00
healther
dfbe3278c4 add package py-lmfit (#3333)
* add package py-lmfit

* needed to deactivate testing in openblas due to spec.cppflags being undefined

* undid openblas modification
2017-03-03 16:27:32 -06:00
healther
7dff5e7646 add package py-myhdl (#3335)
* add package py-myhdl

* Update package.py
2017-03-03 16:27:14 -06:00
Adam J. Stewart
897d0f3f3e Fix unexpected keyword error in Python 2.6 (#2954) 2017-03-03 15:24:44 -06:00
健美猫
d63a53e691 Fix simul by diabling inline and replacing mpicc command. (#3323) 2017-03-03 10:19:17 -06:00
healther
191bf1e132 add package py-elephant (#3302)
* add package py-elephant

* add variants for docs and pandas
2017-03-03 08:39:06 -06:00
healther
ba21940409 add resource manpages to package git (#3299)
* add resource manpages to package git

* Update package.py

* added manpages per version

* added explaining comment

* fixed synatx error
2017-03-03 08:07:50 -06:00
healther
def42f156d add flex variant to cscope (#3252)
* add flex variant to cscope

* fixed dependency

* fixed typo
2017-03-03 08:06:25 -06:00
健美猫
9df2649d02 Add package mdtest. (#3303) 2017-03-03 08:05:16 -06:00
健美猫
f443490f34 Add package sctk. (#3325) 2017-03-03 08:04:01 -06:00
健美猫
e4a0d8a78e Add packag gradle. (#3326) 2017-03-03 08:02:32 -06:00
healther
bb997d2de5 add package py-spyder (#3312)
* add package py-spyder

* fixed dependencies

* py-flake8 -> py-pycodestyle

* fixed packagename

* Update package.py

* Update package.py
2017-03-03 08:01:20 -06:00
healther
818118c589 add package py-qtawesome (#3308)
* add package py-qtawesome

requires py-qtpy

* fixed url

* remove unnecessary comment
2017-03-03 08:00:21 -06:00
healther
2d395d7d75 add package py-qtpy (#3307)
* add package py-qtpy

* (re)added qt dependence

* changed url
2017-03-03 08:00:01 -06:00
healther
ac0fa0ca6e add package py-numpydoc (#3311)
* add package py-numpydoc

* removed unnecessary dependency

* added dependency
2017-03-03 07:59:28 -06:00
健美猫
7511c9cd1a Add a new version for bamtools 2.4.1. (#3328) 2017-03-03 07:58:41 -06:00
healther
15c311fbeb add package notmuch and dependencies (#3329)
* add package notmuch and dependencies

depends on
* gmime

* flake8 again
2017-03-03 07:57:47 -06:00
healther
4494233c93 add package gmime (#3327)
* add package gmime

* flake8 fix..
2017-03-03 07:57:15 -06:00
Adam J. Stewart
7fcd414050 Fixes to allow Boost to build with Python 3 (#3293)
* Fixes to allow Boost to build with Python 3

* Restrict patch to Python 3 only
2017-03-02 18:36:10 -06:00
Adam J. Stewart
bde0a67415 Add new package for PaGMO/PyGMO (#3210)
* Add new package for PaGMO/PyGMO

* Rename py-pygmo to pagmo

* Fix concretization bug

* Correct Python detection, use correct flags

* Install PyGMO to the pagmo prefix, not the Python prefix
2017-03-02 18:35:19 -06:00
Federico Padua
ecca9abc72 Ior package: fix build issues (#3276)
This commits address build issues reported in issue #3268.
In particular, makes cleaner the dependency on parallel-netcdf
when +ncmpi variant is requested and adds CFLAGS=-D H5_USE_16_API
to handle the fact that Ior uses old 1.6 style APIs when +hdf5 is
requested.
These changes make Ior build fine and create modules for HDF5 versions
1.8.x and 1.10.0.
Even though build is successfull the modules haven't been tested in a
run.
2017-03-02 18:33:36 -06:00
Adam J. Stewart
a7be0d4e5d Convert icu4c to AutotoolsPackage (#3316) 2017-03-02 18:32:04 -06:00
Patrick Gartung
4afb7a729c Make libgcc_s relocatable on Macos by adding @rpath to installname (#1671)
* Make libgcc_s relocatable

* spack specifies full path to lib64

* don't need trailing /

* setting rpath is different on macos

* add -headerpad_max_install_names linker options

* formatting fixes

* Add Adam's recommendation
2017-03-02 16:39:05 -06:00
healther
7baefa83b9 add package py-jedi (#3313) 2017-03-02 16:29:01 -06:00
healther
c67b8173e3 add package py-rope (#3314) 2017-03-02 16:28:42 -06:00
healther
a562d684b7 add various variants to vim (#3255)
* add various variants to vim

* default to --enable-fail-if-missing

* vim package: -{python,ruby,lua,perl} sets build option to `no`

* vim's interpreter build options are `--enable-XXXXinterp={yes,no,dynamic}`
* dynamic seems to work only on windows builds
* `=no` is the default => use it in spack if the variant is disabled
2017-03-02 14:26:52 -06:00
healther
d0835289e8 add package py-chardet (#3310) 2017-03-02 13:50:21 -06:00
healther
73836fccd2 add package py-boltons (#3279)
* add package py-boltons

* added description

* fixed non-utf8 characters
2017-03-02 12:51:00 -06:00
Michael Kuhn
6d0fbe7d96 Update adios to 1.11.1 (#3221)
Add a zfp variant and a patch that resets the interpreter for gpp.py.
2017-03-02 12:44:43 -06:00
healther
acb72c7037 add package py-brian (#3280)
* add package py-brian

* fixed typo

* removed unnecessary dependency

* fixed typo2
2017-03-02 12:44:09 -06:00
healther
c610c197ba Feature/py doxypy (#3283)
* add package py-doxypy

* fixed template and url
2017-03-02 12:44:01 -06:00
healther
9607c55eac add package py-doxypypy (#3284) 2017-03-02 12:43:43 -06:00
healther
98baff0167 add package py-fasteners (#3285)
* add package py-fasteners

* fixed dependencies
2017-03-02 12:43:34 -06:00
healther
a8c57d65c1 add package py-flexx (#3288) 2017-03-02 12:43:24 -06:00
healther
2f0c3d81aa add version 2.0.0 for py-matplotlib (#3289) 2017-03-02 12:43:13 -06:00
healther
0c014bf36c add package py-lazyarray (#3290)
* add package py-lazyarray

* added numpy dependency

* flake8 fixes
2017-03-02 12:43:02 -06:00
healther
7bcc12a3c1 add package py-lazy (#3291) 2017-03-02 12:42:33 -06:00
健美猫
0c1ccd5180 Add simul. (#3300) 2017-03-02 12:42:15 -06:00
Brian Van Essen
5bb22c3024 Added a recipe for the Caffe deep learning toolkit. (#3232)
* Added a recipe for the Caffe deep learning toolkit.

* Added code to extend python and fixed flake8 error.

* Fixed Flake8 error
2017-03-02 12:30:00 -06:00
Massimiliano Culpo
ed582cef68 New interface for passing build information among specs (#1875)
- Added a new interface for Specs to pass build information
  - Calls forwarded from Spec to Package are now explicit
  - Added descriptor within Spec to manage forwarding
  - Added state in Spec to maintain query information
  - Modified a few packages (the one involved in spack install pexsi) to showcase changes

- This uses an object wrapper to `spec` to implement the `libs` sub-calls.
  - wrapper is returned from `__getitem__` only if spec is concrete
  - allows packagers to access build information easily
2017-03-02 10:01:29 -08:00
Massimiliano Culpo
5ce926d2d1 test/packages: fixed test suite (#3236)
It seems the tests in `packages.py` were running just because we had a specific order of execution. This should fix the problem, and make the test_suite more resilient to running order.
2017-03-02 09:29:23 -08:00
Denis Davydov
88f97c07de fix build of 64bit PETSc and Trilinos in the same deal.II DAG (#3223)
Declare that (i) Trilinos can be only built against 32bit Hypre
(ii) SLEPc can not be built with Arpack when 64bit indices are used
(iii) reflect those constraints in deal.II's depends_on
While there, add extra release flags for best performance.
2017-03-02 08:16:58 -06:00
Jon Rood
8f915de610 Updating SAMRAI package with new urls and new versions (#3188)
* Updating SAMRAI package file with new urls and new versions. Also using Spack's MPI compilers.

* Using default optimization for Samrai and setting type to build for m4 dependency.

* Adding debug variant to Samrai.

* Converting Samrai to AutotoolsPackage.
2017-03-02 06:52:53 -06:00
healther
ffce6e1c4e add variant shared to yaml-cpp (#3254) 2017-03-01 16:36:46 -06:00
healther
20360f6727 add package py-current (#3282) 2017-03-01 15:34:04 -06:00
eklee15
8b52a87285 Add xl and spectrum mpi support for mumps (#3231)
* Add xl and spectrum mpi support for mumps

* Incorporated Denis's comments. fPIC and if-else
2017-03-01 15:33:41 -06:00
eklee15
4e601bb6d3 Exclude a few packages to build with xl (#3270) 2017-03-01 14:46:58 -06:00
healther
fa294a25db add version 2.2.0 to package bear (#3278) 2017-03-01 13:37:47 -06:00
healther
1ee470c37e Add package: git-review (#3088)
* Add git-review

* Fix flake8 errors

* use PythonPackage for git-review

* added dependencies for git-review

* fix flake8

* moved url's to pypi.io based urls

* fixed flake8... again

* mostly url fixes, not tested, will do tomorrow

* flake8 fix

* changed URL for py-pysocks

* Fixed URL for pysocks

* fixed url
2017-03-01 12:29:22 -06:00
healther
5fe96dec27 add packages vcsh (#3256)
* add packages vcsh

* added git dependency

* added comment regarding makefile
2017-03-01 07:51:36 -06:00
healther
6a1a2d5ec1 add package units (#3257)
* add package units

* removed unnecessary dependency

* readded python dependency
2017-03-01 07:51:17 -06:00
healther
2fb179f55b add package py-xmlrunner and fix unittest2 dependency (#3260)
* add package py-xmlrunner and fix unittest2 dependency

* add setuptools dependency
2017-03-01 07:51:05 -06:00
healther
d5884bdb78 add package py-symfit (#3264)
* add package py-symfit

* added missing dependency

* fixed ordering of versions
2017-03-01 07:50:54 -06:00
healther
4e433f8a03 add package py-statsmodels and py-patsy (#3265)
* add package py-statsmodels and py-patsy

* fixed typo

* fixed urls

* removed rc version
2017-03-01 07:50:28 -06:00
Adam J. Stewart
186d990791 pip requires setuptools during runtime (#3272) 2017-03-01 07:49:57 -06:00
Gregory Lee
ecc8f578af added urls for Intel Parallel Studio (#3220) 2017-02-28 14:57:10 -06:00
healther
37c36cf04e add package py-tqdm (#3262)
* add package py-tqdm

* added py-setuptools dependency
2017-02-28 13:36:32 -06:00
eklee15
bce2accb69 xl support for suite-sparse (#3226)
* xl support for suite-sparse

* make_args.extend([
    'CFLAGS={0}'.format(self.compiler.pic_flag),
    'FFLAGS={0}'.format(self.compiler.pic_flag)
])
2017-02-28 11:26:49 -08:00
eklee15
9be0c06b98 Patch hypre to support ppc64le (#3238)
- Patch applies through v2.11.1
2017-02-28 11:24:43 -08:00
healther
c32a9416ec add package py-tabulate (#3263)
* add package py-tabulate
* added py-setuptools dependency
2017-02-28 11:20:46 -08:00
Jean-Paul Pelteret
86276cd734 Update Adol-C to AutotoolsPackage; Change develop repository (#3246)
The new repository for the development version points to the most
up-to-date official source for Adol-C. The previous SVN repository was
only occasionally sync'd with this repository.
2017-02-28 13:18:40 -06:00
Thierry
315dfe0970 nfft distclean before configure patch (#3241) 2017-02-28 13:05:01 -06:00
healther
d1040b7111 add package py-sh (#3266)
* add package py-sh

* removed constraint on py-setuptools
2017-02-28 12:59:43 -06:00
Adam J. Stewart
c1382f9d02 Fix infinite recursion in swig build (#3249) 2017-02-28 12:58:08 -06:00
Bryce Allen
b2784f3664 add sz package (#3251) 2017-02-28 12:57:16 -06:00
healther
dee2259f3a add package py-saga-python and dependencies (#3267)
* add package py-saga-python and dependencies

* fixed url and dependencies
2017-02-28 12:56:36 -06:00
healther
70d0cdcd0a add package py-attrs (#3253) 2017-02-28 10:51:31 -06:00
healther
be0033ac91 add py-ranger package (#3258) 2017-02-28 10:21:06 -06:00
healther
25f10cca48 add package py-xarray (#3259) 2017-02-28 10:17:43 -06:00
healther
a43f2a49cb add version 0.29.0 to py-wheel (#3261) 2017-02-28 10:12:51 -06:00
Denis Davydov
b5b1e58843 numdiff: add 5.9.0 (#3243) 2017-02-26 08:17:17 -06:00
Eric Müller
ef55b01906 Add py-mock version 2.0.0 (#3234) 2017-02-24 08:05:49 -06:00
Eric Müller
06f366c53f Add bazel version 0.4.4 (#3233) 2017-02-24 08:05:21 -06:00
Javier
9650afd97e Fixing graphviz issue when calling spec (#3225) 2017-02-23 07:56:39 -06:00
Denis Davydov
60b7e13e1a fix py-setuptools (#3217) 2017-02-22 15:15:23 -08:00
Pramod Kumbhar
c9f705ffc2 Add SCOREC Core package for unstructured mesh simulations. (#3202)
* Add SCOREC Core package for unstructured mesh simulations.
2017-02-22 14:03:11 -08:00
Pramod Kumbhar
f86dcd8b4c Fix scotch build on bg-q (#3196)
* Fix build issue #3190 on bg-q :
 - disable parallel build as it produces weired linker errors
   in cross compiling environment
 - update ldflags for bg-q as per Makefile provided Makefile.inc.ppca2_ibm_bgq
* Added note about -lpthread vs -pthread
2017-02-22 11:04:14 -08:00
Kim Serradell
871a94ee41 Updating homepages and sources from two BSC packages (#3216)
* Corrected extrae package homepage and url
* Corrected paraver package homepage and url
* To fix 'undefined reference to libintl_dgettext' appearing in extrae package when using binutils+libiberty
* Adding support to previous paraver version and reverting binutils changes to open another PR
2017-02-22 11:03:25 -08:00
Todd Gamblin
539a454900 Convert Jaspert to AutotoolsPackage (#3212) 2017-02-22 09:29:34 -08:00
eklee15
52fab8fff3 Boost modification for IBM xl compiler (#3205)
Tested with:
spack install boost@1.62.0+iostreams%xl_r^zlib%gcc^bzip2%gcc
2017-02-21 16:40:09 -08:00
healther
177c54ecbf Add packages: mosh (#3098)
* Add packages: mosh

Perl is a run dependency. See https://github.com/mobile-shell/mosh/wiki/Build-Instructions
2017-02-21 09:50:06 -08:00
Javier
d49cb2734f Fixing issue wheh overwriting build_args in PythonPackage (#3200) 2017-02-21 08:04:32 -06:00
Javier
3195264546 Fix malformed py-appdirs patch (#3203) 2017-02-21 07:51:19 -06:00
healther
7827a0ff67 Default to OpenSSL 1.0 (#3100)
* Added version 1.1 to openssl
* restore note explaining preferred=True for 1.0.2k
2017-02-20 18:21:27 -08:00
Carlos Bederián
6681fc1a47 parallel-netcdf: use spack_cc for sequential code instead of system gcc (#3143) 2017-02-20 18:19:45 -08:00
Adam J. Stewart
d2a52d6dd6 Fix setuptools bootstrapping now that dependencies are no longer vendored (#3198)
* Fix setuptools bootstrapping now that dependencies are no longer vendored
* Reorder patch and comments
* Use exact same patch as https://github.com/ActiveState/appdirs/pull/84
* Use exact same patch as https://sourceforge.net/p/pyparsing/patches/10/
2017-02-20 18:09:03 -08:00
Javier
fbbcf456e9 Updating package: geant4 (#3197) 2017-02-20 17:33:32 -08:00
Adam J. Stewart
5b6d2754d9 Add MATLAB package (#2614)
* Add MATLAB package
* Remove auto-accept license feature
2017-02-20 16:10:06 -08:00
Adam J. Stewart
f0e99456ed Fix tab completion of directories and filenames (#3184) 2017-02-20 15:44:58 -08:00
Barry Smith
ab2d6285c4 Add installer for petsc4py and slepc4py (#3187)
* Add installer for petsc4py and slepc4py
* @adamjstewart requested changes on this pull request; make these type=('build', 'run')
* @citibeth suggestion  Remove unneeded indirect dependencies
2017-02-20 15:43:33 -08:00
Adam J. Stewart
0203545eb8 Update CUDA docstring, no longer need to download manually (#3191)
* Update CUDA docstring, no longer need to download manually
2017-02-20 15:41:31 -08:00
Denis Davydov
031cde6e25 openblas: add develop version to make it work with Kabylake CPUs (#3192)
* openblas: add develop version to make it work with Kabylake CPUs
* dealii: fix develop branch
2017-02-20 15:40:46 -08:00
Pramod Kumbhar
8c2f5baa19 Fix zoltan installation issue on bg-q #3193 (#3194)
Zoltan expects mpi libraries with option --with-mpi-libs.
If this option is not provided then it uses '-lmpi' which
may not be correct. To avoid this, we have to explicitly
pass empty string.

This adds notes to the source explaining the change.
2017-02-20 15:39:51 -08:00
Adam J. Stewart
4de85ab4b7 Add new versions of several Python packages (#3195) 2017-02-20 15:38:30 -08:00
healther
8ebd49c962 add symlink variant (needed for AFS) (#3147)
* add symlink variant (needed for AFS)

* fix flake8

* added missing return statement
2017-02-20 17:14:44 -06:00
healther
c8cfe317c2 Added version 1.49.2 to gobject-introspection (#3090) 2017-02-20 07:53:33 -06:00
Carlos Bederián
4b9a37a357 silo: adding patch to support newer versions of hdf5 (#3162) 2017-02-19 17:45:19 -08:00
Barry Smith
7edea4361f Add installer for SAWs (#3186) 2017-02-19 17:44:16 -08:00
健美猫
a211795a0c Add Intel Parallel Studio XE 2016u4 and 2015u6. (#3182) 2017-02-18 19:12:05 -08:00
Adam J. Stewart
49d7f9db3d Add patches to allow PGI to build Tar properly (#3177) 2017-02-18 19:09:50 -08:00
Adam J. Stewart
4397ce8118 Replace GCC-specific warning flags with valid PGI flags (#3137) 2017-02-18 16:42:45 -06:00
Adam J. Stewart
341b78a96d Add patch to allow M4 make check to pass for PGI (#3108) 2017-02-18 16:42:13 -06:00
Denis Davydov
7f89bc1e1d octave: fix missing --without statements (#3178) 2017-02-18 16:13:00 -06:00
healther
1a5b3e184f Add package: log4cxx (#3097)
* Add log4cxx package

* add missing patch files to log4cxx

* remove unnecessary dependencies

* this fails at 'make check'

* this is the AutotoolsPackage version

* fixed install bug
2017-02-18 16:10:15 -06:00
healther
63a0ca729d Added 2017 Intel libraries (#3084) 2017-02-18 16:02:33 -06:00
healther
5712b524cc Add binutils variant +plugins (#3083)
* Add binutils variant +plugins

* added description to plugins variant
2017-02-18 16:02:01 -06:00
Jim Galarowicz
4da66d71b0 Fix for qt3 specific qt build (#3063)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Update the fix for qt3 build by setting LD_LIBRARY_PATH instead of checking for whether it is set or not per Adams comment that spack clears LD_LIBRARY_PATH.

* A fix was added for setting LD_LIBRARY_PATH in the qt3 build, but if LD_LIBRARY_PATH is not set the qt build fails. So so check and set LD_LIBRARY_PATH if not set, update if it is set.

* Trim comments to fit more concisely.

* Fix tabs versus spaces and swap if and else clause check from a negative to a positive check.
2017-02-18 15:56:40 -06:00
sknigh
69b01c617e Added shmem variant to Score-p build (#3024)
* Disable by default to fix builds on Centos 7
2017-02-18 15:54:57 -06:00
Pramod Kumbhar
18334edf1a Bug fix: PDT configure uses -prefix, not --prefix (#2976)
* This bug was introduced in #2845.
2017-02-18 15:45:47 -06:00
Adam J. Stewart
c2d210568c Fix tab completion after change to uninstall flag (#3175) 2017-02-18 13:08:59 -06:00
Adam J. Stewart
6d3f649382 Fix readline support in spack python (#3132)
* Fix readline support in `spack python`
* Add documentation on `spack python`
* Add unit tests for `spack python`
2017-02-17 15:58:06 -08:00
serbanmaerean
0d22b3eea9 netlib-lapack: Update package file for netlib-lapack to work with IBM (#3040)
Update package file for netlib-lapack to work with IBM XL compiler

The flag -qzerosize is redundant, as the IBM XL compiler should set this flag
by default.  However, at this time the default flag appears to be ignore.
Hence, I am setting it in the package file as well, as it has no negative
effect if set twice.
2017-02-17 15:51:10 -08:00
healther
5c37c17173 Add package: py-apache-libcloud (#3101)
* Add py-apache-libcloud package
2017-02-17 15:30:49 -08:00
Adam J. Stewart
524303db06 Set default module type based on modules.yaml (#3173) 2017-02-17 13:46:31 -08:00
Adam J. Stewart
e492aff4f7 More consistent yes/no prompts (#3174)
* More consistent yes/no prompts
* Add ==> prefix to yes/no and number prompts
2017-02-17 13:45:02 -08:00
Elizabeth Fischer
29d070e50c On uninstall, change shortcut flag for --dependents to -R, as per Spack convention. (-r = --dependencies, -R = --dependents). (#1917) 2017-02-17 12:08:17 -08:00
Elizabeth Fischer
7180613218 graphviz: Tame Language Bindings (#1089)
graphviz: 
  * Download from Fedora projet, as main graphviz site not working.
  * Disable java because Spack does not yet support Java, and the system might not have it installed.
  * Added all language binding variants; disabled enough in the default configuration to avoid dependencies.
  * Removed alternate download location (turned into comments).
  * Turn off all language bindings by default.
  * Raise an exception on bindings that have not been verified to work.
  * Added text indicating what works and doesn't work when user runs `spack info`.
2017-02-17 12:07:54 -08:00
健美猫
1de2c53935 Patch openblas Makefile only when version >= 0.2.16. (#3170) 2017-02-17 12:03:43 -08:00
Adam J. Stewart
38dd01f6b5 Fix missing space in error message output (#3169) 2017-02-17 12:02:48 -08:00
Elizabeth Fischer
682d5cf164 py-git2: New Package (#1971) 2017-02-17 11:55:22 -08:00
Elizabeth Fischer
8cb7f3d262 Keep Curl Bootstrap Working With http:// (#3113)
* Add comments documenting problems in recent versions of NetCDF.
* Add comments to packages required to install curl.
2017-02-17 11:52:08 -08:00
Adam J. Stewart
a9cf99b3e2 Fix typos in External Packages documentation (#3168) 2017-02-17 11:49:55 -08:00
George Hartzell
ea1c582145 go: add support for v1.8 (#3165) 2017-02-17 11:48:45 -08:00
Denis Davydov
3c5024232c abinit: fix compilation on macOS, disable internal netcdf (#3157)
* abinit: fix compilation on macOS
* disable internal netcdf
2017-02-17 11:46:58 -08:00
Carlos Bederián
0f51daff24 hdf5: configure uses FCFLAGS instead of FFLAGS (#3155)
When building `hdf5+pic`, `-fPIC` wasn't being passed to the fortran compiler because `configure` takes `FCFLAGS` instead of `FFLAGS`.
2017-02-17 11:44:16 -08:00
Kelly (KT) Thompson
78962c8978 Provide Random123 header-only package. (#3141)
Add DESRES Random123 package:
- http://www.deshawresearch.com/resources_random123.html
2017-02-17 11:40:14 -08:00
Adam J. Stewart
c719802c83 Add new version of zlib, deprecate 1.2.10 (#3136) 2017-02-17 11:39:21 -08:00
Adam J. Stewart
4f60011121 Add patch to allow ncurses to be built with PGI (#3135) 2017-02-17 11:39:05 -08:00
Justin M Wozniak
163bdfde93 Swift/T: all packages (#3130)
* New package.py for ExM C-Utils: An initial package dependency for Swift/T
* New package.py for ADLB/X: A 2nd package dependency for Swift/T
* New package.py for Turbine
* New package.py for STC
2017-02-17 11:35:45 -08:00
Adam J. Stewart
c2fa7b1254 Add latest version of OpenSSL (#3171) 2017-02-17 07:11:54 -08:00
Ce Qin
f7a0a6fbc4 Add tag master for version develop of dealii. (#3048) 2017-02-16 18:37:20 -08:00
serbanmaerean
7bebfd29c2 spectrum-mpi: Add url info to spectrum-mpi package file (#3042)
Spack wants URL info even for external packages.  Without it, I get
the following error:

NoURLError: Package SpectrumMpi has no version with a URL.
  File "/home_local/serbanspack/spack/lib/spack/spack/repository.py", line 580, in get
    self._instances[key] = package_class(copy)
  File "/home_local/serbanspack/spack/lib/spack/spack/package.py", line 562, in __init__
    f = fs.for_package_version(self, self.version)
  File "/home_local/serbanspack/spack/lib/spack/spack/fetch_strategy.py", line 878, in for_package_version
    url = pkg.url_for_version(version)
  File "/home_local/serbanspack/spack/lib/spack/spack/package.py", line 682, in url_for_version
    raise NoURLError(cls)
2017-02-14 11:28:35 -08:00
Gregory Lee
4a20d170f4 fixes for pygtk and some dependencies (#3077) 2017-02-14 10:52:05 -08:00
Brian Van Essen
56952aaf1f LBANN (#3049)
* Creating a spack package for LLNL's LBANN (Livermore Big
Artificial Neural Network) training toolkit.

* Recipe for building LBANN toolkit.  Contains limited feature set and
is optimized for building with GNU gcc and OpenBLAS.

* Removed unnecessary dependencies based on reviewers feedback.

* Added support for the int64 data type in the Elemental library.  This
is required for supporting indices for large matrices.

* Added a variant to force a sequential weight matrix initialization.
This is slow, but provides an initialization that is independent of
model parallelism.

* Added a guard to prevent building Elemental with the Intel compiler
for versions that have known bugs.
2017-02-13 11:57:46 -08:00
Massimiliano Culpo
e34acd0074 qa: allow fast finish to avoid consuming a precious OSX build on a PR that will fail (#3120) 2017-02-10 18:21:52 -08:00
Adam J. Stewart
4dd0b349f9 Add Jmol package (#3041) 2017-02-10 16:18:56 -08:00
Adam J. Stewart
6e2903534a Add patch to allow PGI to build Bison (#3044) 2017-02-10 16:17:55 -08:00
Massimiliano Culpo
e24fdb49ea fix: don't call setup_environment when not needed (#3060)
* Don't call setup_environment when not needed. fixes #3059

* setup_environment and modules: added unit tests
2017-02-10 16:09:43 -08:00
Denis Davydov
cbbf5791ba numdiff: update dependencies and fix (#3061)
compile with -O0 as per upstream known issue with optimization and GMP,
according to Ubuntu folks.
2017-02-10 16:05:07 -08:00
Justin M Wozniak
2305f6434e New package.py for ExM C-Utils and Turbine (#3076)
* New package.py for ExM C-Utils: An initial package dependency for Swift/T
* New package turbine

* Fix package.py as requested by @adamjstewart

* New package.py for ADLB/X: A 2nd package dependency for Swift/T

* Add latest version of GNU Parallel (#3106)

* Address formatting guidelines from @adamjstewart

* WIP on new Turbine package.py

* Formatting fixes

* Complete Turbine package.py
2017-02-10 16:03:40 -08:00
healther
c98249c129 Add version 2017.0.098 to ipp (#3093) 2017-02-10 16:00:52 -08:00
Erik Schnetter
4362caa51a es: Declare readline dependency (#3071) 2017-02-10 16:00:20 -08:00
Adam J. Stewart
57855cab5d Explicitly tell MPC where to find its deps (#3073) 2017-02-10 15:59:46 -08:00
healther
563b6ab73a Add version 2017.0.098 to intel-mkl (#3092) 2017-02-10 15:55:02 -08:00
healther
2aec15a6f9 Add version 2.49.7 to glib (#3089) 2017-02-10 15:52:39 -08:00
becker33
f9e3b58d7e Make distro more robust to unreadable files (#3110)
* Make distro more robust to unreadable files. Will upstream

* Comment for clarify
2017-02-10 10:23:04 -08:00
Adam J. Stewart
f1ca79ba6c Add latest version of PGI (#3107) 2017-02-09 13:58:17 -08:00
Denis Davydov
b07835904a valgrind: add develop; fix build on macOS with clang (#3066)
- add develop version to valgrind; fix build on macOS with clang
- switch valgrind to AutotoolsPackage
2017-02-09 13:57:50 -08:00
Denis Davydov
b1eb921f28 make svn fetch quiet (#3070) 2017-02-09 13:55:18 -08:00
Adam J. Stewart
8d7bcbbbbb Add latest version of GNU Parallel (#3106) 2017-02-09 10:38:08 -08:00
Adam J. Stewart
2a3228e004 Add latest version of NCO (#3080) 2017-02-09 08:33:01 -08:00
Massimiliano Culpo
c91d18b622 qa: adjust thresholds for acceptance (#3105) 2017-02-09 08:31:57 -08:00
Todd Gamblin
b192011add Revert "db and concretization of packages modified after installation: fixes #2911" (#3078) 2017-02-08 13:12:10 -08:00
Massimiliano Culpo
79c1f7885a db and concretization of modified packages: fixes #2911 (#2920) 2017-02-07 18:28:01 -08:00
Massimiliano Culpo
28b7ef3175 codecov: added commit status, made green a reachable state (#3051) 2017-02-07 18:25:38 -08:00
Elizabeth Fischer
892955cc46 Add comments documenting problems in recent versions of NetCDF. (#3058) 2017-02-07 18:23:33 -08:00
Denis Davydov
4264051954 fix usage of self.build_directory in espressopp and astyle (#3053) 2017-02-07 18:22:52 -08:00
George Hartzell
b1f5b5f75b Add comment explaining why patch is still needed (#3054)
[The fix](https://github.com/golang/go/issues/17986) for the small buglet addressed by `misc-cgo-testcshared.patch` has been merged into the tree a while back.  I was surprised to see that it wasn't in 1.7.5 and did a bit of digging.  It is *has not* been merged into the 1.7 branch but it *has* been merged into 1.8 (and therefor the patch will no longer be necessary).

Figured I'd document my digging for the next person to come along.
2017-02-07 18:22:30 -08:00
Denis Davydov
7bf7016383 mpfr: add 3.1.5 (#3050) 2017-02-07 18:22:13 -08:00
Matthew Scott Krafczyk
f71df7bda3 move rpath from ALL to other sections of site.cfg (#3028)
* move rpath from ALL to other sections of site.cfg.  Solves #3007
* Add back mac condition to py-numpy
* Refactor py-numpy a bit.
2017-02-07 13:15:02 -08:00
Brian Van Essen
88e9bb586e Added a new version of the Google protobuf to the spack package. (#3046) 2017-02-07 10:05:02 -08:00
Adam J. Stewart
941dfcbe43 Bash Programmable Completion for Spack (#3026) 2017-02-06 12:34:35 -08:00
serbanmaerean
d78a35bb54 spectrum-mpi: Add new package file for external package (#3005)
* spectrum-mpi: Add new package file for external package

IBM Spectrum MPI is a commercial implementation of MPI based on
OpenMPI.  It is usually install in /opt/ibm/spectrum_mpi.

Users need to add the Spectrum MPI package in their packages.yaml
file as follows:

packages:
    spectrum-mpi:
        version: ['10.1.0.2']
        paths:
            spectrum-mpi@10.1.0.2: /opt/ibm/spectrum_mpi/
        buildable: False

    all:
        providers:
            mpi: [spectrum-mpi@10.1.0.2]

* spectrum-mpi: Added license files and removed the versions

No need for versions as the package is external.

* spectrum-mpi: Remove extraneous defines

Keep only the defines that other MPI implementation define in their
package file:
    self.spec.mpicc
    self.spec.mpicxx
    self.spec.mpif77
    self.spec.mpifc
2017-02-06 10:53:53 -08:00
Brian Van Essen
ffd582b2f6 Elemental (#2991)
* Add a package for the Elemental distributed linear algebra library.
2017-02-06 00:04:41 -08:00
Gregory Lee
158a1b9c36 fix OMPT support in Archer (#3035) 2017-02-05 23:34:38 -08:00
Nicolas Richart
7c09ad5305 Boostrapping the lammps package (#3032)
* First commit for the lammps package
* reviewed by adamjstewart and davydden
2017-02-05 19:34:53 -08:00
sknigh
dfff1f5cf4 Changed spark URL, Added version 2.0.2, 2.1.0 (#3027) 2017-02-05 15:56:34 -08:00
George Hartzell
d1c7f9c8bd Add a package for hunspell (#3029)
Add a package for the hunspell spelling checker.

This was created by `spack create`, trimmed down, and tested on CentOS 7.
2017-02-05 15:55:55 -08:00
健美猫
47f9096073 Use the official Maven site. (#3034) 2017-02-05 15:49:05 -08:00
Gregory Lee
ccb07dc25e added archer OpenMP race detector and its deps (#3030) 2017-02-04 15:42:22 -08:00
becker33
968199de7d Fix spec hash printing (#2941)
- Fix format printing to match command line for hashes and full name formats
- Update spack graph to use new format
- Changed format string signifier for hashes from `$#` to `$/`
2017-02-03 18:27:34 -08:00
Carlos Bederián
5aefaa6ffe Add FFTW 2.1.5 (#2987) 2017-02-03 18:26:27 -08:00
Carlos Bederián
384698157a MKL: Provide scalapack (#2974) 2017-02-03 18:18:31 -08:00
Erik Schnetter
4c1c284e56 New package “es” (extensible shell) (#3009) 2017-02-03 18:09:25 -08:00
George Hartzell
5e2827433c Update go to v1.7.5 (#3023)
Update the go package to v1.7.5.

- This release no longer needs the time-test patch (it's been merged upstream).
- This release still seems to need the cgo-testcshared patch.
- Also add a comment about environment set up that I need to build it successfully on a very large server.

Tested on CentOS 7.
2017-02-03 18:09:01 -08:00
健美猫
864670c0ab Retrive CUDA installers from Internet. (#3012) 2017-02-03 18:07:54 -08:00
sknigh
24553c12bb Flex and Glib builds are dependent on m4 (#3022) 2017-02-03 17:19:23 -08:00
George Hartzell
c456dfb60f Make module autoload warnings configurable (#2763)
Modules generated by the module creation machinery currently print out
a notice that warnts the user that things are being autoloaded.  In
some situations those warnings are problematic.  See #2754 for
discussion.

This is a first cut at optionally disabling the warning messages:

- adds a helper tothe EnvModule base class that encapsulates the
  config file variable;
- adds a method to the base class that provides a default (empty)
  code fragment for generating a warning message;
- passes the warning fragment into the bit that formats the autoload
  string;
- adds specialized autload_warner() methods in the tcl and lmod
  subclasses;; and finally
- touches up the autoload_format strings in the specialized classes.
2017-02-03 15:53:30 -08:00
George Hartzell
b28d8345ec Force particular repo to increase predictability (#2746)
The repository used by the texlive installer defaults to a redirector
that sends one off to various URLs depending on <fill in the blank>.

This is problematic because all of the mirrors do not update in
synchrony and bad tarballs often hang around for a while.

This leads to problems that are particularly hard to diagnose because
you're likely to end up using a different repo the next time around.

This commit constraints the package to a particular, mainstream,
repository.  It's not fast, but it's consistent and usually correct.

It also updates the installer digest, because no day is complete
without updating it at least (sigh) once.
2017-02-03 15:44:26 -08:00
George Hartzell
5a836fd06e Blacklist implicit packages for modulefile generation (#2603)
Add the ability to the modules generation process to blacklist
packages that were installed implicitly.  One can still whitelist
modules that were installed implicitly.

This changes adds a `blacklist_implicts` boolean as a peer to the
`whitelist` and `blacklist` arrays, e.g.:

```
modules:
  enable::
    - lmod
  lmod:
    whitelist:
      - 'lua'
      - 'py-setuptools'
    blacklist:
      -  '%gcc@4.8.3'
    blacklist_implicits: True
```

It adds a small helper in `spec.py` and then touches up the package
filtering code in `modules.py`.
2017-02-03 15:42:46 -08:00
George Hartzell
acb9281dbf Different versions of cmake need diff vers of openssl (#2993)
* Different versions of cmake need diff vers of openssl.  See Issue https://github.com/LLNL/spack/issues/2990 for background.

Versions of cmake through 3.6.9 seem to need OpenSSL up to 1.0.99.  Later
versions can use the current release (thanks to @citibeth for
[digging up details](https://cmake.org/pipermail/cmake/2016-November/064631.html)).

@davydden suggested this change.

Without it I *am not* able to build `cmake@3.6.1` on CentOS 7 and I *am*
able to build `cmake@3.7.2`.

Tested with `cmake@3.7.2` and `cmake@3.6.1` on CentOS 7.
With this change I am able to build both `cmake@3.6.1` and `cmake@3.7.2`
on CentOS 7.
2017-02-03 14:35:16 -08:00
George Hartzell
6c1b19f394 Ocaml fails as an AutotoolsPackage (#2995)
Switch the ocaml install bit back to being a Package with its own little install method.

This fix allows me to build Unison on CentOS 7.
2017-02-03 14:22:50 -08:00
George Hartzell
10d36ee343 Fetch tarballs from ant archive dir. (#2997)
There was a new release of Ant (1.9.8) which led to the v1.9.7
tarball disappearing.

This changes the URL to Ant's archive dir, which seems to contain
*everything* including the two current releases (1.9.8 and 1.10.0)

It adds a digest for 1.9.8.

It adds and comments out a digest for 1.10.0 (which requires Java 8),
as I have not tested it.
2017-02-03 14:21:14 -08:00
Mayeul d'Avezac
d7c816386a Add new versions of catch (#3016) 2017-02-03 14:20:41 -08:00
George Hartzell
0929b23d53 Update git package to include 2.11.1 (#3020)
Add git v2.11.1 digest.

Built and lightly tested on CentOS 7.
2017-02-03 14:17:33 -08:00
Carlos Bederián
3d67bf46ba Update Tcl/Tk to 8.6.6 (#3002) 2017-02-03 14:15:15 -08:00
Howard Pritchard
0cdbd74b82 openmpi (#2988)
We just released 2.0.2 yesterday, so add in that release for
spack.  Don't need the PMI patch for this release.

Signed-off-by: Howard Pritchard <howardp@lanl.gov>
2017-02-03 14:10:44 -08:00
Adam J. Stewart
dbb18df3f2 Add latest stable Perl release (#2969) 2017-02-03 14:10:08 -08:00
Tom Scogland
95c04f3ab1 llvm: add 3.9.1, only download necessary resources (#3015)
* llvm: add 3.9.1, only download necessary resources

* sacrifice some spaces on the altar of flake8 the vengeful and merciless
2017-02-03 14:04:36 -08:00
健美猫
a08ccbedee Patch OpenMPI 2.0.x to fix pmi_opcaddy_t_class issue. (#2962) 2017-01-31 14:52:38 -05:00
serbanmaerean
8275b44715 Change default fflags for XL compiler to only "-qzerosize" (#2966) 2017-01-31 14:51:05 -05:00
Henrik Bengtsson
4f297f4336 R: Using official cloud URL for CRAN (#2956)
cran.r-project.org runs on a single old-school server in Austria
and could potentially be overloaded if "everyone" used it.

cloud.r-project.org is a cloud-based repository that "automatic redirection to servers worldwide [...]", cf. https://cran.r-project.org/mirrors.html.

I assume, that cloud.* can be scale up as needed. Out of the official CRAN mirror, this should be the safest one to pick if a static CRAN mirror is needed.
2017-01-31 14:47:20 -05:00
Adam J. Stewart
41c77d7429 Add installcheck phase to AutotoolsPackage (#2863)
* Add installcheck phase to AutotoolsPackage
* Update installcheck phase with new callbacks API
* build_directory has been converted to a property
2017-01-31 14:35:38 -05:00
Gregory Lee
7d279e06a0 Merge pull request #2964 from Zzzoom/fftw_add_sse2
FFTW: Add SSE2 support to x86_64 target
2017-01-31 09:48:47 -08:00
Adam J. Stewart
2ac0bcfcb0 Add latest version of Xorg util-macros (#2965) 2017-01-31 08:30:08 -08:00
Henrik Bengtsson
6e729bc333 DOCS: Examplify what file types are automatically extracted (#2955) 2017-01-31 08:26:19 -08:00
Adam J. Stewart
123f057089 Refactor Spack's URL parsing commands (#2938)
* Replace `spack urls` and `spack url-parse` with `spack url`
* Allow spack url list to only list incorrect parsings
* Add spack url test reporting
* Add unit tests for new URL commands
2017-01-31 11:14:52 -05:00
Denis Davydov
2e81fe4fb3 openssl: add extra url to download old versions (#2935) 2017-01-31 10:51:26 -05:00
Massimiliano Culpo
2babe4e4ff removed call syntax from property fixes #2944 (#2945) 2017-01-31 10:48:57 -05:00
健美猫
d46a1eadcd Replace FTP retrieval URLs with HTTP/HTTPS serving packages with identical checksum. (#2958) 2017-01-31 09:56:35 -05:00
Adam J. Stewart
0c0a1fdedc Add several new R packages (#2952)
* Add several new R packages

* Add a few more R packages

* Update more versions

* Convert Package to RPackage

* Add a few more packages

* Add missing dependencies
2017-01-31 09:54:34 -05:00
Massimiliano Culpo
19cf7a2833 libmng: fix trying to run configure on an already configured directory fixes #2959 (#2961) 2017-01-31 09:49:29 -05:00
Carlos Bederián
617786707f FFTW: Add SSE2 support to x86_64 target 2017-01-30 18:17:36 -03:00
Adam J. Stewart
75763bb8e3 Make OpenSSL tests optional (#2939)
* Make OpenSSL tests optional

* Add version constraint to Perl dependency in OpenSSL
2017-01-27 11:38:21 -08:00
becker33
58a4c5c14d Fix ambiguous hash message generation. (#2940)
* Fix ambiguous hash message generation. Engineering fix
2017-01-27 11:37:21 -08:00
Denis Davydov
aa7c5d1115 mumps: fix compilation with MKL (#2936) 2017-01-27 11:32:25 -08:00
Adam J. Stewart
6158115ca8 Standardize argparse help messages (#2847) 2017-01-26 02:33:01 -08:00
Adam J. Stewart
c7a1328326 Add missing dependencies to VizGlow package (#2581)
* Add missing dependencies to VizGlow package

* Use a version-specific URL for xterm
2017-01-26 02:30:18 -08:00
Todd Gamblin
ffb8aaa3f3 Packaging docs for MPI (#2838)
* Add MPI docs to packaging guide and simplify packaging guide TOC a bit.
2017-01-26 02:29:31 -08:00
Massimiliano Culpo
81a5146b1d AutotoolsPackage: minor improvements (#2859)
* AutotoolsPackage: added configure_directory to permit build out of source. The configure script executable is now invoked with an absolute path. Modified a few packages accordingly.

* build_systems: functions returning directories are now properties

* build_systems: fixed issues with tcl and tk

* AutotoolsPackage: reworked recipe for autoreconf
2017-01-26 02:27:15 -08:00
Todd Gamblin
3b2124af6a Turn off codecov comments (use only statuses) 2017-01-26 02:21:26 -08:00
Todd Gamblin
a5700a8888 Use codecov for coverage instead of coveralls (#2933)
* Switch from coveralls to codecov

- Add .codecov.yml, simplify .travis.yml
- Add codecov badge to README.md

* Add tests for spack graph.
2017-01-26 02:19:35 -08:00
Jean-Paul Pelteret
f59011f314 Adol-C: Enable trig/erf functions; advanced branching (#2747) 2017-01-26 01:33:20 -08:00
Denis Davydov
d324d13456 py-numpy: rework blas/lapack (#2365)
* py-numpy: fix blas/lapack section title

* py-numpy: rework BLAS/LAPACK

including a workaround for MKL due to
limited config system of numpy
2017-01-26 00:46:35 -08:00
scheibelp
e4d2d747ce Spec.satisfies accesses Spec.concrete as property (#2928)
* Spec.satisfies accesses Spec.concrete as property

Fixes #2760

When copying a spec, _concrete is always set to False for each
dependency. "Spec.satisfies" was accessing the member "_concrete"
directly instead of using the property "concrete". This means that
if you copy a spec, the dependencies will be considered equal, but
did not necessarily satisfy one another. Spec.satisfies is a
prerequisite for a package to be considered an extension; as a
consequence, an extension with run-time dependencies that were also
extensions did not activate those extensions. This updates
Spec.satisfies to avoid checking the cached member "_concrete"
directly.

* Added test to check for activation of dependency extension

* Added test to check for transitive satisfiability between a spec and its copy
2017-01-25 21:43:12 -07:00
Sam Gutiérrez
596190c83c Update libquo's homepage, url, and description. (#2925)
* Update libquo's homepage, url, and description.

Recently LANL moved to lanl (from losalamos).

* Fix formatting.

Conform to style guidelines.

* More style updates.

Doesn't appear to be necessary, but for good measure.
2017-01-25 21:41:26 -07:00
Adam J. Stewart
b18b6bad6f Remove intel-parallel-studio +all checks (#2905) 2017-01-25 21:41:09 -07:00
Denis Davydov
c24dc9072e oce: fix fetching (#2921)
* oce: fix fetching

apparently the fetcher is confused when there is a mixture of 3-digits
versions and 2-digits versions, i.e. 0.18 and 0.17.2

* flake8
2017-01-25 21:39:40 -07:00
Erik Schnetter
1ddd9c75c6 c-blosc: Add variant to disable AVX2 support (#2931)
Not all compilers support AVX2 instructions, and the package’s test for this is much too simplistic.
2017-01-25 21:39:10 -07:00
Timothy Brown
11454280e7 Updating udunits version. (#2922)
* Updating udunits.

Udunits 2.2.21 is no longer on the unidata ftp site.
The latest is 2.2.23, adding that and it's md5sum.

* Updating udunits2 download URL.

The Unidata ftp site does not keep previous versions of udunits.
However all the tagged versions are in their github.com repository.
Updating the URL to use github.

* Updating udunits2 with a autoreconf def.

The udunits packages on github do not contain a configure script.
One has to run autoreconf to generate it, so adding that to
package file.

Also updated to the latest version and all md5 checksums.
2017-01-25 21:38:44 -07:00
becker33
8ae380fb71 Fixes for parsing specs with hashes (#2889)
- Allows hashes to be specified after other parts of the spec
- Does not allow other parts of the spec to be specified after the hash
- The hash must either end input or be followed by another separate spec
- The next spec cannot be an anonymous spec (it must start with a package name or a hash)

See #2769 (after it was merged) for further discussion of this interface addition. That discussion resulted in these requirements:

```
python                     # 1 spec
/abc123                    # 1 spec
python /abc123             # 1 spec
/456789                    # 1 spec
python /abc123 /456789     # 2 specs
python /456789 /abc123     # 2 specs
/abc123 /456789            # 2 specs
/456789 /abc123            # 2 specs
/456789 /abc123 python     # 3 specs
```

assuming `abc123` and `456789` are both hashes of different python specs.
2017-01-25 21:38:10 -07:00
Jean-Paul Pelteret
a4f594a68d Update valgrind to 3.12.0 (#2929) 2017-01-25 17:14:55 -08:00
serbanmaerean
5e2a96574b Add support for IBM threaded compilers: xl*_r (#2894)
* Add support for IBM threaded compilers, xl*_r

Added new compiler class, xl_r; added default flags to the compilers.yaml file.

* Add cppflags to the set of default flags to be added to the compilers stanza in compiler.yaml.

These flags are optional. Only defined flags will be listed in the compilers.yaml file.

* Fix scripting warnings revealed by flake8.

Updated __init__.py and xl_r.py to conform with flake8 rules.

* Add justification to the definition of the XL default compiler flags.
2017-01-25 16:26:17 -07:00
Massimiliano Culpo
fc866ae0fe build systems: simpler, clearer decorators: run_after, run_before (#2860)
* PackageMeta: `run_before` is an alias of `precondition`, `run_after` an alias of `sanity_check`

* PackageMeta: removed `precondition` and `sanity_check`

* PackageMeta: decorators are now free-standing

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

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

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

* r: updated decorators in package.py

* docs: updated decorator names
2017-01-25 08:57:01 -07:00
George Hartzell
90d47a3ead Add dependency on perl (#2909)
* Add dependency on perl

The build process uses perl and also needs `Test::More`.

Some distros, e.g. CentOS, break the core Perl distribution
into separate packages, so it's possible to "have perl" but
not have all the bits one needs to build OpenSSL.

We'll just install one of ours, which comes with all of its
factory parts included.

* Remove uninformative comment

>  # Also requires make

doesn't really add any value...
2017-01-24 14:07:13 -07:00
Adam J. Stewart
268347ccbf Add latest version of flex (#2914) 2017-01-24 14:06:56 -07:00
Adam J. Stewart
fae36b8489 Add latest version of NetCDF (#2915) 2017-01-24 14:06:42 -07:00
Adam J. Stewart
a04ac74c4c Add latest version of xz (#2916) 2017-01-24 14:01:10 -07:00
Jason Sarich
6e895c4ccc add static options for some libraries (#2876)
* add static options for some libraries

* make requested changes: add comments and use configure_args
2017-01-24 12:48:01 -07:00
Adam J. Stewart
7d3da2ebdc Grammar and broken link fixes in modules tutorial (#2912) 2017-01-24 10:25:44 -07:00
Jean-Paul Pelteret
416e52c150 Update SymEngine package (#2919)
Take advantage of new configuration options in the @develop branch
2017-01-24 10:00:27 -07:00
Mayeul d'Avezac
db7a786d1c Simplifying gbenchmark (#2892)
Also, it seems the cmake_args API has changed in spack
2017-01-23 16:12:31 -08:00
Adam J. Stewart
f8c7dab826 Convert xerces-c to AutotoolsPackage (#2907) 2017-01-23 15:50:34 -08:00
Adam J. Stewart
e317f2639c Add latest version of PnetCDF (#2906) 2017-01-23 15:30:01 -08:00
Adam J. Stewart
bcef90fe10 Add --without-x when building r~X (#2864)
* Add --without-x when building r~X

* Add latest version of R

* Run patch for latest version as well
2017-01-23 15:29:48 -08:00
Michael Kuhn
258dfc707d Export spack function so it works in subshells (#2908) 2017-01-23 15:29:25 -08:00
Denis Davydov
c76088906e oce & trilinos: force rpath on Sierra to avoid issues with load commands size (#2855)
* oce: force rpath on Sierra to avoid issues with load commands size

* trilinos: use rpath on Sierra to avoid load commands limit
2017-01-23 13:59:16 -08:00
Massimiliano Culpo
a8e1d78881 documentation: build-system phases + build-time tests (#2780)
* documentation: reworked packaging guide to add build-system phases

* documentation: improvements to AutotoolsPackage autodocs

* build_systems: updated autodocs

* run-tests: added a few information on how to run tests fixes #2606 fixes#2605

* documentation: fixed items brought up by @davydden

    * typos in docs
    * consistent use of 'build system' (i.e. removed 'build-system' from docs)
    * added a note on possible default implementations for build-time tests

* documentation: fixed items brought up by @citibeth

    * added note to explain the difference between build system and language used in a package
    * capitalized bullet items
    * added link to API docs

* documentation: fixed multiple cross-references after rebase

* documentation: fixed minor issues raised by @tgamblin

* documentation: added entry in table for the `PythonPackage` class

* docs: fixed issues brought up by @citybeth in the second review
2017-01-23 13:55:39 -08:00
Michael Kuhn
72f2f845e7 Update lz4 to 1.7.5 (#2878) 2017-01-23 10:26:21 -08:00
Jason Sarich
3686d0ceb3 have trilinos search for static libraries first when not using shared variant (#2896) 2017-01-23 10:24:21 -08:00
George Hartzell
162be154d2 Fix configure's zlib version check (#2901)
* Fix configure's zlib version check

R wants a version of zlib that is 1.2.5 or newer.

The version checking code just does a lexicographic comparison
of the first 5 characters of the string, so it seesthat the latest
zlib version, 1.2.10, as 1.2.1 and fails.

This patch changes the comparison to use zlibs' hex ZLIB_VERNUM
so that it does not suffer from this problem.

A version of this patch is wending it's way through the R comunity
community and will/should be included in a future release.

I tested the patch with the current R, 3.3.1.

* Tighten zlib dependency version (>= 1.2.5)

* Convert patch to level=1 format.
2017-01-23 10:20:54 -08:00
Michael Kuhn
7fd936735c Add zstd package (#2897) 2017-01-23 10:18:51 -08:00
Adam J. Stewart
dae353374e Simplify unit tests listed in Contribution Guide (#2904)
* Simplify unit tests listed in Contribution Guide

* Use long name for option flags
2017-01-23 09:48:49 -08:00
Gregory Lee
6bc7be9217 updated config file name for Python 3.6 (#2881) 2017-01-23 09:34:50 -08:00
Erik Schnetter
19699a7607 libevent: Properly declare OpenSSL dependency version bounds (#2888)
* libevent: Properly declare OpenSSL dependency version bounds

* libevent: Handle ~openssl variant correctly
2017-01-20 13:57:15 -08:00
John Wohlbier
3e8106955b For qt3, append to LD_LIBRARY_PATH, do not nuke it (#2862)
* libmonitor does not exist at
http://libmonitor.googlecode.com/svn/trunk/

Change location to HPCToolkit version at github. Specify the hash corresponding
to the 20130218 version.

* When xcb is version 1.11, patch the configure file so it doesn't trip on
pthread-stubs and xau.

* Add os.getcwd()/lib to LD_LIBRARY_PATH, instead of nuking
existing LD_LIBRARY_PATH.
2017-01-20 10:34:40 -08:00
Erik Schnetter
adac3ebbf9 cfitsio: Allow building as shared libraries (#2887)
* cfitsio: Allow building as shared libraries

- Allow building as shared libraries
- Also add optional bzip2 variant
- Also update to newest version

This requires the recent correction to “fix_darwin_install_name”.

* cfitsio: Simplify code, default to +shared
2017-01-20 10:28:07 -08:00
Erik Schnetter
4e390e6689 m4: Update version (#2872) 2017-01-20 10:23:53 -08:00
Erik Schnetter
56cdb1d1ab swig: Update version (#2871) 2017-01-20 10:23:23 -08:00
Erik Schnetter
cade0181fd Spack: Correct fix_darwin_install_name (#2886)
Previously, fix_darwin_install_name would only handle dependencies that have no path set, and it ignore dependencies that have the build directory as path baked in. Catch this, and replace it by the install directory.
2017-01-20 10:22:59 -08:00
Jason Sarich
bc37a1012c let pflotran depend on hdf 1.8.12 and above (#2875) 2017-01-20 10:18:58 -08:00
Michael Kuhn
042307d5f1 Update c-blosc to 1.11.1 (#2877) 2017-01-20 10:17:46 -08:00
Erik Schnetter
a0c4fe247f OpenSSL: Update to version 1.1.0c (#2885) 2017-01-20 10:12:09 -08:00
Denis Davydov
1223e43827 p4est: add 2.0 (#2890) 2017-01-20 10:11:11 -08:00
Denis Davydov
c350bd1216 dealii: fix config without mpi (#2856)
* dealii: fix config without mpi

* dealii: add check of variants
2017-01-19 11:24:09 -08:00
Quinn
f511f7b558 Adding some fixes to packages that use configure_args function without setting spec set or directly referencing it (#2868)
* Adding 'self.' to the spec call for configure_args

* Updating this to set spec to self.spec

* More updates to the configure_args spec calls

* Another spec issue

* Another spec issue.

* And another spec issue

* Switching cmor back to self.spec.
2017-01-19 06:26:39 -08:00
Adam J. Stewart
4dad5aab84 Add spack edit option for build systems (#2865) 2017-01-18 18:49:48 -08:00
Erik Schnetter
9b7001fda1 OpenMPI: Update auto-detection of Verbs library location (#2124) 2017-01-18 14:54:39 -08:00
Adam J. Stewart
02f92fc7f8 Massive conversion from Package to AutotoolsPackage (#2845)
* Massive conversion from Package to AutotoolsPackage

* Forgot to convert p4est to AutotoolsPackage

* Fix typo

* Fix broken link in docs
2017-01-18 10:34:09 -08:00
Denis Davydov
5812081b80 gmsh: add 2.16 (#2857) 2017-01-18 09:34:05 -08:00
Denis Davydov
ddfbb14ad9 octave: add 4.2.0; fix Blas/Lapack; use AutotoolsPackage (#2858)
* octave: add 4.2.0; fix Blas/Lapack; use AutotoolsPackage

* fix a bug
2017-01-18 09:33:45 -08:00
Adam J. Stewart
026e2d0fe6 Convert 3 more new packages to PythonPackage (#2841) 2017-01-18 08:51:38 -08:00
Erik Schnetter
6242aaef6c papi: Update to 5.5.1 (#2849) 2017-01-18 08:18:38 -08:00
Erik Schnetter
70042f9e7d hwloc: Update to 1.11.5 (#2851) 2017-01-18 08:18:08 -08:00
Erik Schnetter
b452a7619c curl: update to 7.52.1 (#2852) 2017-01-18 08:17:50 -08:00
Erik Schnetter
a23fcd2a93 cmake: Update to 3.7.2 (#2853) 2017-01-18 08:17:31 -08:00
Erik Schnetter
3bd0101fb9 jemalloc: Update to 4.4.0 (#2850) 2017-01-18 08:16:59 -08:00
Adam J. Stewart
f0f230d480 Allow spack create to detect packages that need to run autoreconf (#2848) 2017-01-17 17:42:45 -08:00
Denis Davydov
a040c8c743 oce: add 0.18 and fix patching (#2844)
* oce: add 0.18 and fix patching

* oce: simplify the patch
2017-01-17 14:40:07 -08:00
Jason Sarich
a1f7006400 check if node is already deleted (#2799)
* check if node is already deleted

* fix variable name
2017-01-17 14:23:32 -08:00
Denis Davydov
190a5b575c p4est: switch to AutotoolsPackage (#2839) 2017-01-17 11:05:34 -08:00
Adam J. Stewart
061076aea9 Support scionlib version detection (#2818) 2017-01-17 10:54:36 -08:00
Todd Gamblin
52a9e5d2a3 Merge branch 'releases/v0.10.0' 2017-01-17 01:36:03 -08:00
Todd Gamblin
1856317777 Bump version to 0.10.0 2017-01-16 20:01:07 -08:00
Todd Gamblin
1bd13827c9 Add release branches to travis testing. 2017-01-16 20:01:07 -08:00
Adam J. Stewart
c0aaa8fcea Add PythonPackage base class
- Add a PythonPackage class with build system support.
  - Support build phases in PythonPackage
  - Add a custom sanity check for PythonPackages
  - Get rid of nolink dependencies in python packages

- Update spack create to use new PythonPackage class

- Port most of Python packages to new PythonPackage class

- Conducted a massive install and activate of Python packages.
  - Fixed bugs introduced by install and activate.

- Update API docs on PythonPackage
2017-01-16 20:00:31 -08:00
Adam J. Stewart
1f49493fee Major improvements to spack create (#2707)
* Initial changes to spack create command

* Get 'spack create <url>' working again

* Simplify call to BuildSystemGuesser

* More verbose output of spack create

* Remove duplicated code from spack create and spack checksum

* Add better documentation to spack create docstrings

* Fix pluralization bug

* Flake8

* Update documentation on spack create and deprecate spack edit --force

* Make it more obvious when we are renaming a package

* Further deprecate spack edit --force

* Fix unit tests

* Rename default template to generic template

* Don't add automake/autoconf deps to Autotools packages

* Remove changes to default $EDITOR

* Completely remove all traces of spack edit --force

* Remove grammar changes to make the PR easier to review
2017-01-16 17:13:12 -08:00
Mario Melara
beafcfd3ef Set MPI environment variables to the compiler wrappers on Cray (#2762)
* Set MPI[lang] env var to compiler wrappers on cray

Sets MPICC, MPICXX, MPIFC etc to point to the compiler wrappers on Cray systems.
Some packages look for MPIs via environment variables - e.g adios

* Use spec to check for Cray

* os is no longer used.
2017-01-16 16:15:37 -08:00
Adam J. Stewart
6eed279fce Don't duplicate spack test in spack help (#2837) 2017-01-16 14:56:38 -08:00
George Hartzell
aa3cc0ea81 Add lmod support for spack module loads (#2758)
The `spack module loads` command only supported tcl and dotkit.
This adds support for lmod.
2017-01-16 03:25:39 -08:00
Jon Rood
6e8058ad41 Specify Python location in VisIt in a more uniform fashion. (#2803) 2017-01-16 03:21:52 -08:00
Todd Gamblin
de7be6694f Fix issue with Mac OS version detection in m4 package. (#2835) 2017-01-16 03:03:52 -08:00
Denis Davydov
8365dbd959 petsc: add 64bit variant (#2655)
* petsc: add 64bit variant

* hypre: add int64 variant

* superlu-dist: add int64 variant

* petsc: add int64 variant

* metis: rename idx64 to int64 to make it consistent with other packages

* mumps: rename idx64 to int64 to make it consistent with other packages

* dealii: rename 64bit to int64 to make it consistent with other packages
2017-01-16 02:23:07 -08:00
Axel Huebl
e2697e4a37 isl: add latest version (#2834)
added latest version of isl. Needed to get llvm/clang in the latest
trunk to build via spack, but there are more versions available.
what is the policy regarding those? Add what we need for now?
2017-01-16 01:17:35 -08:00
becker33
a091eeceab Parser fix (#2769)
* Fixed parser to eliminate need for escape quotes. TODO: Fix double call to shlex, fix spaces in spec __str__

* Fixed double shlex

* cleanup

* rebased on develop

* Fixed parsing for multiple specs; broken since #360

* Revoked elimination of the `-` sigil in the syntax, and added it back into tests

* flake8

* more flake8

* Cleaned up dead code and added comments to parsing code

* bugfix for spaces in arguments; new bug found in testing

* Added unit tests for kv pairs in parsing/lexing

* Even more flake8

* ... yet another flake8

* Allow multiple specs in install

* unfathomable levels of flake8

* Updated documentation to match parser fix
2017-01-15 19:17:54 -08:00
Jon Rood
b2f29b855b Updating BoxLib with the ability to build again. (#2813)
* Updating BoxLib with the ability to build again.

* Using Spack MPI compilers directly.

* Fixing typo.

* Using tarball from github archive for boxlib.
2017-01-15 17:07:44 -08:00
Adam J. Stewart
e3a631c90e Add Astra package (#2800) 2017-01-15 16:23:52 -08:00
Adam J. Stewart
f480e3449e Added customization for make targets in 'build' and 'install' phases for CMakePackage (#2742)
* Added customization for make targets in 'build' and 'install' phases for CMakePackage

* Use rst in build system docs so that Sphinx generates nice API docs

* Allow AutotoolsPackages to be built in a different directory

* Flake8

* Fix missing import

* Allow configure to be located in different directory

* Update espressopp to use build targets

* Flake8

* Sphinx fix, lists must be a new paragraph

* Back out change that allowed a configure script in a different directory than build_directory

* Add missing deps, build in parallel

* Missing space for rst list
2017-01-15 16:23:16 -08:00
Jean-Paul Pelteret
4b7b595e3c New package: CppAD (#2832) 2017-01-15 16:20:26 -08:00
Adam J. Stewart
f2d4c15395 Remove cmake build dep from CMakePackages (#2684) 2017-01-15 03:18:52 -08:00
Adam J. Stewart
7fce4c5083 Add list_url to cmake (#2714) 2017-01-15 03:16:41 -08:00
Axel Huebl
3f7b4ab7aa Clang & Boost: No PCH (#2827)
Although it hurts a little, officially pre-compiled headers in
boost are only supported for gcc & msvc and the latest clang
releases still fail to build boost with it.

Therefore, I disabled building those to get boost build with
clang 3.9.0 on an Ubuntu 14.04 (x86).

Links to documentation and boost bug reports are inline, so
people can later on check if they still apply. Seems just to
be a bug in `Boost.Build` that tries to set `-o` with multiple
output files.
2017-01-15 02:38:14 -08:00
Todd Gamblin
0d367bbd20 Add a test to exercise non-buildable external packages. (#2833) 2017-01-15 02:37:20 -08:00
becker33
677623962e Fixed find -lp command (coloring was broken) (#2820) 2017-01-15 02:36:36 -08:00
Axel Huebl
5c4d2627ff Packages: Add CUDA8 (#2823)
Adds the latest CUDA release, 8.0.44.
2017-01-15 02:35:53 -08:00
Adam J. Stewart
367f46eee2 Add old version of PGI (#2784) 2017-01-15 02:35:27 -08:00
Adam J. Stewart
12edc4e369 Add latest version of PETSc (#2783) 2017-01-15 02:34:48 -08:00
Massimiliano Culpo
436f6a4ab6 get_std_cmake_args delegates to CMakePackage._std_args fixes #2665 (#2805) 2017-01-15 02:34:15 -08:00
danielsjensen1
957cb968c6 Features/octopus 6.0 (#2819)
* Added support for Octopus 6.0 and the optional libraries: metis, parmetis, netcdf, arpack-ng, and scalapack.

* Fix PEP 8 line too long error.

* Changed format syntax {} to {0} to support Python 2.6.
2017-01-15 02:30:47 -08:00
Gregory Lee
c6c6773c03 added psutil python package (#2812) 2017-01-15 02:30:12 -08:00
Stephen McDowell
1f4ca71e21 Adding the py-ipdb package for more stable debugging with iPython. (#2824)
* Adding the py-ipdb package for more stable debugging with iPython.

* Removing deprecated python support, adding missing dependencies.

* Adding version checks for (i)python
2017-01-15 02:29:29 -08:00
Matthew Scott Krafczyk
28ea72d5b2 Add the package py-sphinx-bootstrap-theme (#2825) 2017-01-15 02:27:17 -08:00
Andrey Prokopenko
1128922b44 boost: fixing boost-1.55.0 for gcc-5 (#2822)
boost-1.55.0 requires patching when compiling with gcc-5. See these
threads:

https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197594
https://svn.boost.org/trac/boost/ticket/10125

Fixes #2821.
2017-01-13 08:43:50 -08:00
Massimiliano Culpo
cd511791d1 configure and build command: fix the stop iteration semantics
- broke somewhere between bdf4832269 (#2810) and 17b13b161b
2017-01-12 09:11:48 -08:00
Massimiliano Culpo
de2cb864fa mirror: fix error for some specs during concretization (#2806) 2017-01-11 07:38:22 -08:00
Jim Galarowicz
481bc91854 Update the boost versions used by openspeedshop. Boost-1.60 to current latest causes compile errors when building openspeedshop. (#2300)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.

* Using boost over 1.60.0 causes compile errors.  This is a known boost bug. Also, dyninst-9.2.0 is set to be the vesrion of dyninst to use with OSS, as of now. The newer version fails to build.

* Fix bad syntax in specifying the boost version range.

* Update the version numbers for the krell institute components and tools: cbtf and openspeedshop.

* Do not build glib for qt3, it is not needed and causes build problems at this time anyway.
2017-01-10 12:28:05 -08:00
Todd Gamblin
f5557b5723 Change nargs='*' to argparse.REMAINDER for constraint options. (#2798) 2017-01-10 12:25:41 -08:00
Massimiliano Culpo
a7a77b5b41 openjpeg: fixes url (#2790) 2017-01-10 09:14:16 -08:00
Adam J. Stewart
1ece25bdc2 Temporary workaround for R concretization bug (#2756) 2017-01-09 19:07:49 -08:00
sknigh
c7ca96b327 Added list_url to r-dt package (#1533) 2017-01-09 14:37:06 -08:00
Elizabeth Fischer
402dfe30f9 Get Rid of nobuild, nolink, and alldeps (#2765)
* Removing the nobuild, nolink, and alldeps dependency types in favor of being explicit.
* This will help with maintenance going forward, as adding more dependency types won't affect existing declared dependencies in weird ways.
* default deptype is still `('build', 'link')`
2017-01-07 19:59:02 -08:00
Adam J. Stewart
68baac0549 Various updates to the NCO package and dependencies (#2639)
* Remove +mpi variant from NCO

* Update NCO deps to AutotoolsPackage

* Update the other NetCDF packages to AutotoolsPackage

* ANTLR has a nolink deptype on java, don't worry about csharp

* Remove restrictions from NCO package, fix homepage

* Add version 4.6.3 of NCO

* Missed AutotoolsPackage for NetCDF-CXX4

* NetCDF tests fail when run in parallel

* Remove commented out dependency

* Add documentation dependency
2017-01-07 18:06:59 -08:00
Adam J. Stewart
a0195371e8 Unset PETSC_DIR during installation (#2768)
* Set PETSC_DIR during installation

* Move env var unsets to setup_environment

* Fix unset var name and number of args
2017-01-07 17:38:53 -08:00
James Wynne III
b7fdc03bd5 Added needed deps for bbcp (#2773) 2017-01-07 16:30:54 -08:00
Adam J. Stewart
daff3c0908 Preliminary RPackage class (#2761) 2017-01-07 16:28:52 -08:00
Todd Gamblin
f379697985 Fix issues linking hDF5 1.8.14 and below on Ubuntu. (#2772) 2017-01-07 09:03:50 -08:00
Cyrus Harrison
e39ba88e9c add conduit 0.2.1 release (#2766) 2017-01-06 12:33:51 -08:00
Bruno Turcksin
2f173bda9c Add boost 1.63.0 (#2743) 2017-01-06 11:44:41 -08:00
Gregory Lee
a016fd01ec Merge pull request #2740 from jrood-nrel/jonrood
Renaming mkl to intel-mkl
2017-01-06 11:01:16 -08:00
Axel Huebl
05d77917fd GitLab: Tarball Version Test (#2296)
* GitLab: Tarball Version Test

Upload a test demonstrating #2290

* Add GitLab parsing
2017-01-06 08:53:19 -08:00
Gregory Lee
7b337de93e various python package version and dependency updates (#2751)
* various python package version and dependency updates

* various python package version and dependency updates
2017-01-06 08:50:06 -08:00
Christoph Junghans
8dc056130c espressopp: package for the ESPResSo++ software (#2602)
* espressopp: package for the ESPResSo++ software

This commit adds a package for the ESPResSo++
simulation software.

* Move Espressopp package to CMakePackage

This commit moves Espressopp package to CMakePackage.
Addresses some comments in the PR.

* Remove run_tests and changed type of dependencies

Addressed some comments from @adamjstewart.
Removed global run_tests setting and removed type from many
dependencies. Set type for py-mpi4py to 'nolink'.

* Updated to last version and fix mpi4py dependency

Added latest espressopp version and changed mpi4py (version) dependency for
different espressopp versions.

* Changed mpi4py version requirements for espressopp

Changed py-mpi4py version requirements for espressopp@1.9.4 according
to the package build requirements for that version.
2017-01-05 21:20:55 -08:00
Matthew Krafczyk
8c650303ff Add dependencies and finish the py-tornado package.
This adds the following packages:

 py-backports-shutil-get-terminal-size  py-nbformat
 py-backports-ssl-match-hostname        py-pathlib2
 py-entrypoints                         py-pickleshare
 py-futures                             py-pip
 py-ipykernel                           py-prompt-toolkit
 py-ipython-genutils                    py-ptyprocess
 py-ipywidgets                          py-simplegeneric
 py-jupyter-client                      py-singledispatch
 py-jupyter-console                     py-terminado
 py-jupyter-core                        py-traitlets
 py-jupyter-notebook                    py-wcwidth
 py-monotonic                           py-widgetsnbextension
 py-nbconvert
2017-01-05 16:10:30 -08:00
Jean-Paul Pelteret
6a5185a2a7 Added npm, node.js, and Jupyter dependencies
Adds the following packages:
  node-js  py-backports-abc  py-functools32  py-pycurl   py-vcversione
  npm      py-certifi        py-jsonschema   py-tornado  py-zmq

- Added python packages that are dependencies for the Jupyter suite
- Update new python packaages to use extension package install function.
- Added npm and node-js packages
2017-01-05 16:10:30 -08:00
Mario Melara
3d54c3c689 Correct env vars for modulecmd; Fixes #1481 (#2745)
Don't override MODULEPATH with PATH, PATH has no modulefiles

PEP8 compliance
2017-01-05 11:15:38 -08:00
Massimiliano Culpo
9271c69b5d test: fixed 'refresh_builtin_mock' fixture (#2748) 2017-01-05 10:25:24 -08:00
Elizabeth Fischer
3dd4a01a5e Standardize package names: lower-case, not Mixed_CASE (#2475)
* Rename packages

* Upcasing depends_on() in packages.

* Downcased extends('r')

* Fixed erroneously changed URL that had slipped through.

* Fixed typo

* Fixed link from documentation into package source code.

* Fixed another doc problem.

* Changed underscores to dashes in package names.

* Added test to enforce lowercase, no-underscore naming convention.

* Fix r-xgboost

* Downcase more instances of 'R' in package auto-creation.

* Fix test.

* Converted unit test packages to use dashes not underscores

* Downcase `r` in the docs.

* Update module_file_support.rst

Fix r->R for class R.
2017-01-04 18:24:07 -08:00
Jon Rood
01406251c9 Intel-mkl provides mkl 2017-01-04 14:02:23 -07:00
Jon Rood
c8405b4b5f Renaming mkl to intel-mkl 2017-01-04 13:55:08 -07:00
George Hartzell
4e653254c5 Use zlib's "fossil" site for old tarballs (#2735)
* Use zlib's "fossil" site for old tarballs

Following citibeth's suggestion in #2732, use zlib's "fossil"
site (not to be confused with the sqlite team's VCS...) for retrieving
old tarballs.

Digests for 1.2.{8,10} match and both install for me on CentOS 7.

* Use zlib's "fossil" URL as the one true URL

Everything seems to be available at zlib's "fossil" URL, so just use
it as the one and only url.

(and fix a flake8 complaint about a comment)
2017-01-04 11:43:10 -08:00
Cyrus Harrison
eaa24b08fd add package for conduit (#2670)
* add package for conduit

* try to fix main conduit docstring

* use join_path instead of pjoin

* address a few requests in pr #2670

change name of 'github-master' to 'master'

change 'docs' variant to 'doc', set default to False

remove explicit +shared variant spec for silo and hdf5 deps
(in the conduit +shared case) cases since they default to True

add reference to static rpath issue
(https://github.com/LLNL/spack/issues/2658)

* address pr #2670 requests

add todos and more info on why variants for deps where selected
use python module install python to enable spack activate
use .format instead of %s
2017-01-04 10:20:08 -08:00
Jeffrey Salmond
e57fc3d950 opencoarrays: new version (#2734)
* add version 1.8.0

* remove depends_on('cmake') as it is now unecessary

* remove 'coarrays' as a virtual package
2017-01-04 08:40:55 -08:00
Jean-Paul Pelteret
4ff33d41a7 New package: ccache (#2721) 2017-01-04 08:39:58 -08:00
Elizabeth Fischer
03471469e7 libpng: Upgrade versions to fix vulnerability. (#2723) 2017-01-04 08:32:10 -08:00
George Hartzell
2e24a3a2be zlib@1.2.10 and R do not get along, work around it (#2727)
* zlib@1.2.10 and R do not get along, work around it

R's configure script has trouble with version numbers > 1.2.9.

This works around it by constraining R to 1.2.8.

I'm working with some R folk on getting it fixed going forward.

* Add adamjstewart's change.
2017-01-04 07:51:16 -08:00
Barry Smith
2322deda65 Update to latest zlib version, server no longer provides older version (#2720)
* Update to latest zlib version, server no longer provides older version

Funded-by: IDEAS
Project: IDEAS/xSDK

* Add alternative URL for previous release of zlib
2017-01-03 13:52:14 -08:00
Todd Gamblin
d32d5e45fb Fix issues when a package provides the same vdep twice. (#2710)
* Fix issues when a package provides the same vdep twice.

- provides() now adds to a set of provided vdeps instead of a single one.

* flake8
2017-01-02 18:40:57 -08:00
Massimiliano Culpo
34d23c617c tests: coverage combine run only if tests succeeded (#2712) 2017-01-01 13:05:33 -08:00
Todd Gamblin
b9ec69dce1 Disallow vdeps in packages.yaml (#2699)
* Consolidate packages.yaml code to preferred_packages

* Add validation check and a test for packages.py parsing.

* flake8
2016-12-31 08:12:38 -08:00
Adam J. Stewart
040f8a7176 Add latest version of gmp (#2695) 2016-12-30 22:53:54 -08:00
Adam J. Stewart
8cb54a9a67 Fix missing debug parameter for parse_version() (#2696) 2016-12-30 22:52:49 -08:00
Todd Gamblin
c88df5819d Fix test command arg handling. 2016-12-30 17:18:19 -08:00
Todd Gamblin
b5537553f2 Run coverage for the spack install command as well as spack test.
- Also don't run coverage on OSX.
2016-12-30 17:18:19 -08:00
Michael Kuhn
a42f340d37 Allow setting default variants (#2644) 2016-12-30 14:11:39 -08:00
Todd Gamblin
d52c44cba9 Add OSX build to .travis.yml. Clean up .travis.yml (#2689)
* Add OSX build to .travis.yml.  Clean up .travis.yml
* Add gcc/gfortran to the mac brew setup.
2016-12-30 13:59:21 -08:00
Todd Gamblin
972a277956 Fix Python issue with build failures; Add test case for build failures. (#2687) 2016-12-30 11:37:50 -08:00
Todd Gamblin
5fbab1f4b5 Concretize preserves deptypes (#2681)
Concretization preserves deptypes
2016-12-29 14:43:59 -08:00
Todd Gamblin
d6390c159f Fix issues related to the switchover to pytest. (#2685)
- Remove stale reference to `import nose` from `bin/spack` script.
- Add `py` to externals (missing dependency for `pytest`)
2016-12-29 11:59:45 -08:00
Massimiliano Culpo
7ea10e768e unit tests: replace nose with pytest (#2502)
* Porting: substitute nose with ytest

This huge commit substitutes nose with pytest as a testing system. Things done here:

* deleted external/nose as it is no longer used
* moved mock resources in their own directory 'test/mock/'
* ported two tests (cmd/find, build_system) to pytest native syntax as an example
* build_environment, log: used monkeypatch instead of try/catch
* moved global mocking of fetch_cache to an auto-used fixture
* moved global mocking from test/__init__.py to conftest.py
* made `spack test` a wrapper around pytest
* run-unit-tests: avoid running python 2.6 tests under coverage to speed them up
* use `pytest --cov` instead of coverage run to cut down testing time

* mock/packages_test: moved mock yaml configuration to files instead of leaving it in the code as string literals

* concretize.py: ported tests to native pytest, reverted multiprocessing in pytest.ini as it was creating the wrong report for coveralls

* conftest.py, fixtures: added docstrings

* concretize_preferences.py: uses fixtures instead of subclassing MockPackagesTest

* directory_layout.py: uses fixtures instead of subclassing MockPackagesTest

* install.py: uses fixtures instead of subclassing MockPackagesTest

* optional_deps.py: uses fixtures instead of subclassing MockPackagesTest

optional_deps.py: uses fixtures instead of subclassing MockPackagesTest

* packages.py: uses fixtures instead of subclassing MockPackagesTest

* provider_index.py: uses fixtures instead of subclassing MockPackagesTest

* spec_yaml.py: uses fixtures instead of subclassing MockPackagesTest

* multimethod.py: uses fixtures instead of subclassing MockPackagesTest

* install.py: now uses mock_archive_url

* git_fetch.py: uses fixtures instead of subclassing MockPackagesTest

* hg_fetch.py: uses fixtures instead of subclassing MockPackagesTest

* svn_fetch.py, mirror.py: uses fixtures instead of subclassing MockPackagesTest
repo.py: deleted

* test_compiler_cmd.py: uses fixtures instead of subclassing MockPackagesTest

* cmd/module.py, cmd/uninstall.py: uses fixtures instead of subclassing MockDatabase

* database.py: uses fixtures instead of subclassing MockDatabase, removed mock/database

* pytest: uncluttering fixture implementations

* database: changing the scope to 'module'

* config.py: uses fixtures instead of subclassing MockPackagesTest

* spec_dag.py, spec_semantics.py: uses fixtures instead of subclassing MockPackagesTest

* stage.py: uses fixtures instead of subclassing MockPackagesTest. Removed mock directory

* pytest: added docstrings to all the fixtures

* pytest: final cleanup

* build_system_guess.py: fixed naming and docstrings as suggested by @scheibelp

* spec_syntax.py: added expected failure on parsing multiple specs closes #1976

* Add pytest and pytest-cov to Spack externals.

* Make `spack flake8` ignore externals.

* run-unit-tests runs spack test and not pytest.

* Remove all the special stuff for `spack test`

- Remove `conftest.py` magic and all the special case stuff in `bin/spack`

- Spack commands can optionally take unknown arguments, if they want to
  handle them.

- `spack test` is now a command like the others.

- `spack test` now just delegates its arguments to `pytest`, but it does
  it by receiving unknown arguments and NOT taking an explicit
  help argument.

* Fix error in fixtures.

* Improve `spack test` command a bit.

- Now supports an approximation of the old simple interface
- Also supports full pytest options if you want them.

* Use external coverage instead of pytest-cov

* Make coverage use parallel-mode.

* change __init__.py docs to include pytest
2016-12-29 07:48:48 -08:00
Elizabeth Fischer
88f57d7543 Allow exclusion of packages from spack module loads (#2667)
* Allow exclusion of packages from `spack module loads`

* Comment out excluded packages instead of not showing them at all.
2016-12-28 13:31:18 -08:00
Massimiliano Culpo
17b13b161b Directive inheritance: laziness for the win (#2623)
* inheritance of directives: using meta-classes to inject attributes coming from directives into packages + lazy directives

* _dep_types -> dependency_types
* using a meta-class to inject directives into packages
* directives are lazy

fixes #2466

* directives.py: allows for multiple inheritance. Added blank lines as suggested by @tgamblin

* directives.py: added a test for simple inheritance of directives

* Minor improvement requested by @tgamblin

CMakePackage: importing names from spack.directives
directives: wrap __new__ to respect pep8

* Refactoring requested by @tgamblin

directives: removed global variables in favor of class variables. Simplified the interface for directives (they return a callable on a package or a list of them).
2016-12-28 12:37:02 -08:00
Thierry
857dac88c8 init yorick package (#2635)
* init yorick package

* attempt at picking up SPACK's compiler choice, todo ~X variant.

* sphinx docstring error ?

* version# tarball, ~X default, docstring fix

* sphinx docstring fix(?)
2016-12-28 10:08:02 -08:00
George Hartzell
18c10f2bad Cleanup post luafilesystem version de-underscoring (#2683)
The upstream luafilesystem tarball/version had a wayward/inconsistent
underscore in their more recent version tag.  The played badly with
our package fetching machinery (due to recent changes?).

Upstream cleaned up their bit which required some touchups here.

- updated the url
- updated the version (digest)
- updated the format statement for the path to the rockspec.
2016-12-27 11:49:53 -08:00
Mayeul d'Avezac
81c1404b9c Adds catch, cppunit, spdlog, tinyxml(1 and 2), google benchmark (#2627)
* Adds catch, cppunit, spdlog, tinyxml(1 and 2), google benchmark

Tinyxml comes in two flavors, 1 and 2. Each comes in several
versions... So they cannot be easily united into a single package.

* Use CMakePackage and friends, add copyright

Also eleminate debug/release variants, since it no longuer fits in the
CMakePackage format.

* Remove unnecessary url

* spdlog now has tagged releases

* Remove unnecessary url argument

* Fewer quotes in cmake args, because magic

* Incorrect base class for tinyxml
2016-12-27 00:32:29 -08:00
Michael Kuhn
baaa613e44 Update wx to 3.1.0 (#2641) 2016-12-27 00:18:26 -08:00
Adam J. Stewart
29bac34c1d Ensure that every file in Spack has a license (#2659)
* Ensure that every package has a license

Also fixes URLs with http://http:// doubled.

This is a continuation of #2656.

* Add license to every file in Spack

* Make sure Todd is the author of all packages

* Fix flake8 tests

* Don't license external Sphinx docs

* Don't display licenses in tutorial example packages

Also fixes typos and converts command-line examples
from tcsh to bash, which is more common
2016-12-27 00:17:12 -08:00
Matthew Scott Krafczyk
3e92ffde7d Update py-cython with new pypi.io url and new version (#2650) 2016-12-25 19:48:11 -08:00
Adam J. Stewart
f34c5367d5 Better tabulation for spack checksum (#2673) 2016-12-25 19:25:53 -08:00
Denis Davydov
91bfebbed8 filter_system_path: additionally filter system prefixes (#2672)
That's because in set_build_environment_variables()
the funciton filter_system_paths() is actually applied to
package prefixes, and not to prefix/lib or prefix/include.
2016-12-25 19:24:56 -08:00
Bruno Turcksin
e16908b16b Add 64 bit variant to dealii. (#2654) 2016-12-25 18:55:14 -08:00
Adam J. Stewart
b240fdb2b9 Add latest version of Python 2 (#2668) 2016-12-25 18:53:16 -08:00
Michael Kuhn
33592d0142 Update gcc to 6.3.0 (#2669) 2016-12-25 18:52:58 -08:00
Todd Gamblin
c4afaabea9 Add argument to spack spec to show deptypes. (#2680)
- `-t` | `--types` argument now shows deptypes in `spack spec`
2016-12-25 14:15:58 -08:00
George Hartzell
041f96b349 Update the texlive distro digest. (#2679)
sigh.
2016-12-25 12:37:03 -08:00
Adam J. Stewart
7e8767e3fd Remove usernames from paths in docs (#2675)
* Remove usernames from paths in docs

* Fix path export
2016-12-25 12:36:35 -08:00
Massimiliano Culpo
8fe5fb7988 go: fixed GOROOT_BOOTSTRAP without workarounds (#2671) 2016-12-25 12:33:57 -08:00
Adam J. Stewart
c3cd948537 Modify github archive regex to support luaposix (#2677) 2016-12-25 12:32:19 -08:00
Michael Kuhn
e340f275b8 Update cairo to 1.14.8, gtkplus to 2.24.31 and pango to 1.40.3 (#2642) 2016-12-21 15:03:28 -08:00
Kim Serradell
70a4c4e105 Bug fontconfig (#2652)
* Added uuid: OSSP uuid is a ISO-C:1999 application programming interface

* Fixed install error in cmor package

* Added uuid: OSSP uuid is a ISO-C:1999 application programming interface

* Fixed install error in cmor package

* Modifiying fontconfig file to allow install in OpenSuse 13.2

* Adding pkg-config dependency to freetype and libxml2

* Removed first possible solution. With @adamjstewart selecting the one adding pkg-config to dependencies
2016-12-21 14:27:15 -08:00
Federico Padua
60dc751225 Fix homepage for the package libspatialindex (#2656)
Small fix for the homepage of the package libspatialindex.
2016-12-21 14:23:32 -08:00
scheibelp
3f1cdbf5ef Revert #2292: use frontend compiler for build deps (#2549)
The primary goal of #2292 was to use the frontend compiler to make
build dependencies like cmake on HPC platforms. It turns out that
while this works in some cases, it did not handle cases where a
package was a link dependency of the root and of a build dependency
(and could produce incorrect concretizations which would not build).
2016-12-20 00:21:25 -08:00
Michael Kuhn
3ce3165ae6 Update gdal to 2.1.2 (#2643) 2016-12-19 17:06:57 -08:00
Adam J. Stewart
b3ba45afa9 Various improvements to H5hut (#2636) 2016-12-19 17:06:14 -08:00
Todd Gamblin
c89de04f40 Support Yorick versions (#2640) 2016-12-19 14:55:23 -08:00
Andrey Prokopenko
d306893d83 moab: changed trilinos dependency to zoltan, and added fortran variant (#2582)
Trilinos dependency is very heavy, the zoltan one is light. I'm not sure
if there is a situation where one needs the former.
2016-12-19 14:41:09 -08:00
Adam J. Stewart
d24186ea84 Update PnetCDF to AutotoolsPackage (#2637) 2016-12-19 14:26:47 -08:00
George Hartzell
d8efeabf77 Update digest for vim@8.0 tarball. (#2600)
* Update digest for vim@8.0 tarball.

The digest appears to have changed.

The new digest value matches the value in their
[MD5SUMS](ftp://ftp.vim.org/pub/vim/unix/MD5SUMS)
file.

* Change ftp.vim.org -> github.com/vim/vim/archive

Vim seems to do weekly releases, but the name of the tarball on
ftp.vim.org doesn't change so we have to regularly play 'update the
digest' (aka Internet whack-a-mole).

This commit changes the url so that we are now downloading particular
versions from the Vim project's github archive.

I didn't walk back through of time to get all of the versions that
used to be explicit.  I grabbed the final `7.4` and the current `8.0`
releases.  If people need more we can add them.
2016-12-19 14:26:16 -08:00
Todd Gamblin
4b7b6768e6 Modify github regex to support NCO. (#2633) 2016-12-19 14:17:18 -08:00
Adam J. Stewart
46436a0909 GSL: Add latest version, update to AutotoolsPackage (#2630) 2016-12-19 09:21:38 -08:00
Todd Gamblin
a2b4146e10 Fixes for various hash issues (#2626)
* Better output for disambiguate_specs()

* Fix wrong exception name.

* Fix satsifies(): concrete specs require matching by hash.

- Fixes uninstall by hash and other places where we need to match a
  specific spec.

- Fix an error in provider_index (satisfies() call was backwards)

- Fix an error in satisfies_dependencies(): checks were too shallow.

* Fix default args in Spec.tree()

* Move installed_dependents() to DB to avoid unknown package error.

* Make `spack find` and `sapck.store.db.query()` faster for hashes.

* Add a test to ensure satisfies() respects concrete Specs' hashes.
2016-12-19 09:09:53 -08:00
Adam J. Stewart
08d323b1f8 NCO: Add latest version, update to AutotoolsPackage (#2629) 2016-12-19 08:49:37 -08:00
Todd Gamblin
b18738e03d Add gawk (GNU awk) (#2625)
* Add gawk, GNU awk.

* flake8 fix.
2016-12-18 22:35:23 -08:00
George Hartzell
6e1b3f621d Feature/add package for fastqc (#1573)
* Add package for fastqc

This tool is a java mess.  Their Way To Do It is to just copy the entire
tree into it's final resting place, make the perl script at the top
level executable and take it from there.

Yuck.

This package assumes that `set_executable` actually sets all the user
bits.  If that change doesn't go in, then something equivalent needs to
be done.

* Use chmod to make fastqc executable

I haven't gotten any feedback on changing set-executable, so switch to
using chmod (from the cuda package).

* Flake8 cleanup

* Install files neatly, don't just copy top level of dir

Rather than blindly copying everything in the distribution, carefully
put the necessary bits into reasonable places.  Neatness counts, etc...

This requires patching the `fastqc` perl script, so this commit adds a
patch file.

* Additional pep8 cleanup

* Let dependency handle adding jdk to PATH

* Flake8 cleanup

* Ensure that java is on PATH

I thought that the run dependency on the jdk would put
java on my PATH, but it does not appear to work.

For now, do it by hand.
2016-12-18 16:38:14 -08:00
Alfredo Adolfo Gimenez
68e9a2ed8d Added customization for make targets in 'build' and 'install' phases for AutotoolsPackage (#2464)
* Customization for make targets in build and test phases for AutotoolsPackage

* Updated Blitz++ to use customized make build and test targets

* Removed flake8 error

* Removed make test customization, added make install customization, need to figure out issues with multiple make targets

* Changed build_targets and install_targets to normal attributes
2016-12-18 16:27:47 -08:00
Chris MacMackin
0de7b5504e py-markdown: Add new package for python-markdown. (#2611)
* py-markdown: Add new package for python-markdown.

* py-markdown: Added restrictions on Python version.

* py-markdown: Removed upper-limit on compatible Python versions.

* py-markdown: Reinstated upper bound on Python version. Also fixed small formatting error.
2016-12-18 16:23:31 -08:00
Denis Davydov
1c0f28c559 gmsh: add 2.15.0 and switch to CMakePackage (#2620) 2016-12-18 16:20:37 -08:00
Denis Davydov
da2350a1c9 tbb: add 2017.3 (#2619) 2016-12-18 16:20:26 -08:00
Denis Davydov
aeb58dc2de cmake: add 3.7.1 (#2618) 2016-12-18 16:20:13 -08:00
Gregory Lee
592df25aef build fixes for openblas (#2601)
* build fixes for openblas

* avx2 in openblas nnot supported with older gcc

* merge fix for openblas
2016-12-17 17:04:59 -08:00
Denis Davydov
0ef55b831f dealii: fix config for Netcdf with lib64 (#2616) 2016-12-17 08:57:33 -08:00
Chris MacMackin
a1a41bb4c7 graphviz: fixed build error due to specifying ltdl lib but not include. (#2609)
* graphviz: fixed build error due to specifying ltdl lib but not include.

* graphviz: Fixed dependencies on libtool and expat.
2016-12-16 16:22:13 -08:00
Andrey Prokopenko
394f010952 libmesh: added mpi variant (#2584) 2016-12-16 15:39:55 -08:00
Thierry
5f88bea442 init nfft 3.3.2 package file (#2612)
* init nfft 3.3.2 package file

* shorten comment line
2016-12-16 15:36:34 -08:00
Chris MacMackin
3089d118c1 py-beautifulsoup4: Added version 4.5.1 (#2610) 2016-12-16 14:21:26 -08:00
Jon Rood
d7ff4b8f34 Updating Trilinos with superlu variant and fixing git branch version options. (#2604) 2016-12-16 14:14:50 -08:00
Adam J. Stewart
36072c4776 [HACK] Make concretization great again! (#2590)
* Always default to +mpi

* Always default to ~X
2016-12-16 10:49:02 -08:00
Massimiliano Culpo
87c9b01033 openblas: derives from MakefilePackage (#2488)
* MakefilePackage: changed build_args and install_args for consistency with #2464
openblas: derives from MakefilePackage

* MakefilePackage: changed default edit behavior
2016-12-15 10:15:52 -08:00
Massimiliano Culpo
f9ca5b9f27 go: see #2567, temporary fix (#2588) 2016-12-15 09:12:33 -08:00
Todd Gamblin
6971918c27 Add GNU patch to Spack. (#2598) 2016-12-15 01:35:45 -08:00
Mario Melara
32cecf55ee Fix target for compiler on CNL operating systems (#2580)
Changes any to a string to avoid <built-in function any> being
incorrectly added to target in compilers.yaml.
2016-12-14 14:37:14 -08:00
Jean-Paul Pelteret
8816cdea9e Blacklist flex 2.6.2 by commenting out package version (#2571)
Fixes #2554
2016-12-14 14:34:55 -08:00
Adam J. Stewart
1ac4ae0b41 Make unzip quiet (#2593) 2016-12-14 14:24:02 -08:00
George Hartzell
f487102c0c Update texlive digest (#2591)
Texlive is *live*, they update the contents of their tarball on a whim.

Here's the current one.
2016-12-14 11:55:48 -08:00
Kim Serradell
c02de564e4 New package py-cdo (#2569)
* Add python cdo support

* Correct pypi url

* Corrected a blanck space that was failing CI

* Corrected url that was failing CI

* Following @alalazo indications, Write this line wrapping it around 80 chars to pass Travis

* Added cdo package depency
2016-12-13 14:36:06 -08:00
Mario Melara
01230a62d4 Change attribute to match ArchSpec refactor (#2579)
Fixes issue #2578
2016-12-13 13:58:03 -08:00
Gregory Lee
392ed4f0cc Merge pull request #2506 from skosukhin/pr_python
A couple of updates for python package.
2016-12-13 13:56:15 -08:00
Ben Morgan
fb809189d3 Better cxx11/14/17 flags for GNU/Clang/Intel (#2539)
* Better cxx11/14 flags for GNU/Clang/Intel

- GCC 4.8 only supports -std=c++1y for C++14
- Use CMake's rules for AppleClang to set cxx11 and cxx14 flags based on
  Apple Xcode/LLVM version
- Use CMake's rules for Intel to add support for cxx14 flags based on
  Intel version.

* Add cxx17_flag property

Implement property in compiler for c++17 as per those for c++11/14.
Add concrete support for GNU/Clang:

- Return -std=c++1z for GCC 5 and above per GCC documentation
- Return -std=c++1z for Clang 3.5 and above per Clang documentation
- Return -std=c++1z for Apple LLVM 6.1 and above per CMake's rules
2016-12-13 13:15:10 -08:00
amklinv
f613445eb2 Added support for xSDKTrilinos package (#2201)
* Added support for xSDKTrilinos package

* Updated xsdktrilinos/package.py for PR review

* Added trilinos version # reqs to xsdktrilinos

* xsdktrilinos now uses CMakePackage

* Cleaned up xsdktrilinos/package.py

* Removed unused cxxflags from xsdktrilinos

* Removed unused sys import from xsdktrilinos
2016-12-13 11:50:10 -08:00
Elizabeth Fischer
4f9e548bf6 Update spack setup and spack graph to be consistent with recent refactoring (#2317)
* Update `spack setup` and `spack graph` to be consistent with c557e765 and 9347f869.  Fixes #2316.

* Added another "fix" necessary to make `spack setup` work.

* Added another "fix" necessary to make `spack setup` work. (reverted from commit 7f0d3ecb38)
2016-12-13 10:48:40 -08:00
Denis Davydov
d855403546 likwid: remote root from INSTALL_CHOWN (#2564) 2016-12-13 10:46:31 -08:00
Denis Davydov
fab9af7081 slepc/petsc: fix python dependency (#2560) 2016-12-13 01:32:42 -08:00
Todd Gamblin
8496d8ff77 Add a test to ensure package names have the right case. (#2562) 2016-12-13 01:23:40 -08:00
Sergey Kosukhin
d8c4418952 Updated python: refactoring and warning messages. 2016-12-13 08:36:56 +01:00
Sergey Kosukhin
3ba88a7509 Updated python: pass LDSHARED to dependants' setup scripts. 2016-12-13 08:36:56 +01:00
Sergey Kosukhin
ec855df071 Updated python: account for lib64 when filtering compilers. 2016-12-13 08:36:56 +01:00
Sergey Kosukhin
58cb2cc2af Updated python: reformat code. 2016-12-13 08:36:56 +01:00
Adam J. Stewart
9f71382912 Add missing bzip2 dependency to freetype (#2536)
* Add freetype dependency on bzip2

* Switch package with an install method for the docs
2016-12-12 14:20:36 -08:00
Jean-Paul Pelteret
6698650679 Doxygen: Add new version (#2561) 2016-12-12 13:45:29 -08:00
Sergey Kosukhin
8f28c9009e Set parent process's input stream inside the build process. (#2535) 2016-12-12 11:55:13 -08:00
Denis Davydov
eb645a8e46 p4est: remove unneded lua dependency (#2559) 2016-12-12 09:51:58 -08:00
Todd Gamblin
d3d87ea190 Add documentation for repositories and namespaces. (#2474)
* Add documentation for repositories and namespaces.

* Update and extend repository documentation per review.

- Also add `-N` argument for `spack spec`
2016-12-12 00:54:20 -08:00
Javier
641db8b9bd New package - r-xgboost (#2493) 2016-12-11 11:49:33 -08:00
Denis Davydov
c8a89d84b5 atlas: fix lapack stage path (#2371)
* atlas: fix lapack stage path

* atlas: add a few links to other package managers
2016-12-11 11:48:23 -08:00
Denis Davydov
d8fd5835b6 rename: add new package (#2486) 2016-12-11 11:44:30 -08:00
Stephen McDowell
7e96b09e63 [docs] missin .. code-block:: console in Spack 101 (#2530)
The advanced [Uninstalling Packages](spack.readthedocs.io/en/latest/tutorial_sc16_spack_basics.html#uninstalling-packages) via hash has a couple missing `.. code-block:: console` directives ;)

I have no idea what branch to direct this to though...
2016-12-11 11:40:36 -08:00
Denis Davydov
62dedc80b1 likwid: add todo (#2531)
* likwid: add todo

* liwkid: add a note on hwloc dependency
2016-12-11 11:39:56 -08:00
Denis Davydov
6475937fc2 numdiff: fix dependency type on macOS (#2538) 2016-12-11 11:38:40 -08:00
Sergey Kosukhin
42dbd4f855 Updated cmor: corrected way to set constraints for the extendee. (#2543) 2016-12-11 11:37:00 -08:00
Jean-Paul Pelteret
70f1e92951 Update Adol-C package (#2556)
Rename developer version, add new version, and make patch version
specific.
2016-12-11 11:35:57 -08:00
Denis Davydov
1570f90fde clang: do xcode mockup iff requested by a package (#2544)
* clang: do xcode mockup iff requested by a package

* add a note

* add pkg to setup_custom_environment() and decide whether or not to use mockup XCode there based on the package
2016-12-10 16:23:39 -08:00
Stephen McDowell
b03881d1bb Eigen 3.3.1 is latest stable version. (#2551)
Main page states [3.3.1 is latest stable](http://eigen.tuxfamily.org/index.php?title=Main_Page).
2016-12-10 16:23:20 -08:00
Stephen McDowell
3887d9b2bc Scotch 6.0.4 is available. (#2552)
Source project page states [6.0.4 is latest stable](http://scotch.gforge.inria.fr/)
2016-12-10 16:23:03 -08:00
Barry Smith
3a1e191b72 Implementation of spack file for Pflotran (#2444)
Supports installing both a "known version" of PETSc/PFlotran that works and
the develop/master branches of both packages

Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 4 hour
2016-12-10 16:22:36 -08:00
Tom Scogland
943c007fb5 update flux dependencies and package (#2541)
* update flux dependencies and package

* refinements from @adamjstewart

* fix flux document generation

The docbook-xsl package has been added, and correctly configures catalog
files to generate documentation correctly with asciidoc.
2016-12-09 17:19:53 -08:00
Denis Davydov
d7e9134d42 astyle: do not set user/group when installing on macOS (#2542)
* astyle: do not set user/group when installing on macOS

* astyle: add new version
2016-12-09 10:58:08 -08:00
Denis Davydov
4d0ea423fb petsc: explicitly disable X11 (#2533)
otherwise petsc may pickup libX11 on login nodes during config/build,
but libX11 may not be available on computation nodes.
2016-12-09 08:43:38 -08:00
becker33
3f8613ae42 Make targets an attribute of compilers (#2500)
* Make targets an attribute of compilers, similar to OS. Allows users to use `spack compiler find` to add compilers for the same platform/os but different targets when spack is installed on a file system mounted on machines with different targets.

* Changed get_compilers() method to treat old compilers with no target as target='any'

* flake8 changes

* Address change requests for comments/code clarity
2016-12-08 22:40:26 -08:00
Sergey Kosukhin
10591fb87f Json loader now returns str objects instead of unicode. (#2524) 2016-12-08 13:42:18 -08:00
Sergey Kosukhin
607f4e7b81 Added packages: cmor and uuid. (#2527)
* Added package 'uuid'.

* Added package 'cmor'.

* Updated 'cmor' and 'uuid': docstring formatting.
2016-12-08 12:09:21 -08:00
scheibelp
065e3d7c0d Revert to-string for CNL operating system (#2526) 2016-12-08 11:41:34 -08:00
Todd Gamblin
be300eb6d5 Add support for parsing R-XML URL versions. (#2525)
* Add support for parsing R-XML URL versions.

* Better url-parse debug output.

- just print the debug stuff all the time.

* fix R-XML versions.
2016-12-08 11:08:58 -08:00
George Hartzell
65df417444 Update emacs: current release, use our x11 bits (#2052)
* Update emacs: current release, use our x11 bits

Add checksum for 25.1 release.

Rework the X support:

- use Spack's X11 bits
- add ability to specify an X toolkit (gtk or athena, default is gtk).
- change toolkit names to align with Emacs' configure usage.

* PEP8 cleanups.

* glib dependency should not be type=build

I'd like to blame that on a typo, but it's a few too many characters
for that to be viable.  I'm not sure what I was thinking.

* Pass X variant down: emacs->pango->cairo

* X variants default to False, warn on bad toolkit

Change the X variants for emacs, pango and cairo to default to False.

Check that the toolkit is a valid choice and give a reasonable error if
not.

* Fix flake8 issue, reword warning text

* gtkplus needs to use +X variant for pango to work

In order for a useful variant of pango to be built into the spec I
needed to make the dependency on gtkplus explicitly specify it's X
variant.  The X variant is the default, but that wasn't enough to make
it happy.  Since it's happiness is the most imporant thing in the
world, this change! :)
2016-12-08 09:43:29 -08:00
Adam J. Stewart
ed8060abe0 Scotch fails to build with latest flex (#2523) 2016-12-08 09:37:18 -08:00
Denis Davydov
cab8788f53 dealii: remove dependencies which are not needed (#2522) 2016-12-08 07:29:22 -08:00
Pramod Kumbhar
29e42143e0 fix for bluegene-q platform (#1980)
* fix for  bluegene-q platform

* change powerpc to ppc64

* change CNK to cnk
2016-12-08 01:01:02 -08:00
scheibelp
83c9f7a4f2 Fix deptypes for deps specified on command line (#2307)
Fixes #2306

Any dependency explicitly mentioned in a spec string ended up with the
build and link deptypes unconditionally. This fixes dependency
resolution to ensure that packages which are mentioned in the spec
string have their deptypes determined by the dependency information
in the package.py files. For example if a package has cmake as a build
dependency, and cmake is mentioned as a dependency in the spec string
for the package, then it ends up with just the build deptype.
2016-12-08 00:54:30 -08:00
scheibelp
30daf95ae8 Use frontend OS for build/run deps by default (#2292)
Packages built targeting a backend may depend on packages like cmake
which can be built against the frontend. With this commit, any build
dependency or child of a build dependency will target the frontend by
default. In compiler concretization when packages copy compilers from
nearby packages, build dependencies use compiler information from
other build dependencies, and link dependencies avoid using compiler
information from build dependencies.
2016-12-08 00:51:19 -08:00
George Hartzell
5f01f273e0 Add version/digest for emacs 25.1 (#2511)
* Add version/digest for emacs 25.1

* Put newest version at top of list
2016-12-07 16:33:41 -08:00
Andrey Prokopenko
bb7b51855a yaml-cpp: add boost dependency (#2517)
yaml-cpp has a boost dependency, and according to [yaml-cpp
page](https://github.com/jbeder/yaml-cpp):
    yaml-cpp 0.5.3 has been released! This is a bug fix release. It also
    will be the last release that uses Boost; futures releases will require
    C++11 instead.
2016-12-07 13:55:12 -08:00
Tom Scogland
e0f5b12475 add ACLOCAL_PATH updates for packages that register m4 macros (#2518) 2016-12-07 13:53:57 -08:00
Oliver Breitwieser
55059a53a3 Fixed spelling of variable (#2516) 2016-12-07 13:08:51 -08:00
George Hartzell
72c01fbd33 Building lua-luafilesystem requires a newish-git (#2515)
See #2059 for background.

I'm unable to install `lmod` because lua-luafilesystem fails.

The luarocks install bits attempt to do a shallow clone of the luafilesystem
sources and the default git on my CentOS 7 test box (`git version 1.8.3.1`)
fails.

This adds a build dependency that ensures that a relatively modern git is
available.
2016-12-07 12:12:53 -08:00
George Hartzell
f3410a0b1d Update texlive digest value (#2514)
* Update texlive digest value

While the discussion in #2494 progresses, this changes fixes the digest
values so that builds succeeed.

* Add warning that texlive is not repeatably installable
2016-12-07 12:02:22 -08:00
Andrey Prokopenko
3088cb171e netcdf: add checksum for 4.3.3.1 version (#2509) 2016-12-07 09:34:31 -08:00
Andrey Prokopenko
8239bd1681 cmake: added checksum for 3.1.0 version (#2508) 2016-12-07 09:33:54 -08:00
Barry Smith
4e6f6320ad hypre, superlu-dist, trilinos - support using develop/master branches of these packages (#2443)
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 1 hour
2016-12-06 13:55:58 -08:00
Barry Smith
76dae1dc5f hypre, superlu-dist, trilinos - support using develop/master branches of these packages (#2443)
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 1 hour
2016-12-06 12:10:51 -08:00
Joseph Ciurej
9c57a49bf4 Fixed a few minor issues with the 'fontconfig' package install script. (#2491) 2016-12-06 10:39:59 -08:00
Andrey Prokopenko
9edb31a51c hdf5: added 'pic' variant (#2373) 2016-12-05 11:57:04 -08:00
Todd Gamblin
089e5b5996 Remove CYAML tests from Spack now that the DB is JSON. (#2487) 2016-12-05 10:31:49 -08:00
Adam J. Stewart
9115ab5097 Add Java support to OpenMPI (#2285)
* Update OpenMPI to the AutotoolsPackage

* Add Java support to OpenMPI

* Fix missing commas

* Be more specific about what versions support what flags

* Revert description for thread_multiple variant
2016-12-05 10:15:12 -08:00
Elizabeth Fischer
cd0524b5b7 py-rtree: Added package (#1548)
* py-rtree: Added package

* py-rtree = RTree (spatial indexing) data structure for Python
* libspatialindex = Underlying C library wrapped by py-rtree

* Flake8 and Copyright issues.

* Fix Python syntax error.

* Fixed dependency type error.

* Added new version, based on updates requested in upstream PR

* 1. Change cmake to build dependency.
2. Updated to CMakePackage
2016-12-05 10:08:52 -08:00
Todd Gamblin
41b8f31bcd Use JSON for the database instead of YAML. (#2189)
* Use JSON for the database instead of YAML.

- JSON is much faster than YAML *and* can preserve ordered keys.
  - 170x+ faster than Python YAML when using unordered dicts
  - 55x faster than Python YAML (both using OrderedDicts)
  - 8x faster than C YAML (with OrderedDicts)

- JSON is built into Python, unlike C YAML, so doesn't add a dependency.
- Don't need human readability for the package database.
- JSON requires no major changes to the code -- same object model as YAML.
- add to_json, from_json methods to spec.

* Add tests to ensure JSON and YAML don't need to be ordered in DB.

* Write index.json first time it's not found instead of requiring reindex.

* flake8 bug.
2016-12-05 10:03:58 -08:00
Adam J. Stewart
161d6205b2 Allow spack create to handle packages with period in name (#2351)
* Allow spack create to handle packages with period in name

* Update tests to handle new package name detection scheme
2016-12-05 09:34:14 -08:00
Denis Davydov
24093a932c ghostcript-fonts: fix install on macOS (#2482) 2016-12-05 08:28:35 -08:00
Denis Davydov
2d1ab68656 xextproto: fix on macOS by not running parallel build (#2483) 2016-12-05 08:28:02 -08:00
Massimiliano Culpo
2634e4909f travis: sphinx does not support python 2.6 anymore (#2485) 2016-12-05 08:27:03 -08:00
Todd Gamblin
b8b14c84e0 Bugfix: restore __contains__ method after ArchSpec refactor. (#2481) 2016-12-04 16:22:16 -08:00
George Hartzell
f0dcb5bbf7 Update go to 1.7.4 and 1.6.4 to fix security issues (#2467)
* Update go to 1.7.4 and 1.6.4 to fix security issues

The go team recently rolled out two releases to address security
issues.  Details available on the [go release
site](https://golang.org/doc/devel/release.html).

This commit updates our explicitly supported versions.

It also includes a comment about two CentOS requirements (enable
user_namespace and ensure that the static c library is installed) that
are required for the pacakges to pass their tests.

* Flake8 cleanup
2016-12-03 16:44:03 -08:00
Andrey Prokopenko
f17c22dfb5 zlib: added 'pic' variant (#2470)
It looks more complicated because zlib has custom configure which does
not support CFLAGS option. So instead, we take it from environment.
2016-12-03 16:43:44 -08:00
George Hartzell
6ddc518417 Update git package to include 2.11.0 (#2471) 2016-12-03 16:41:12 -08:00
Joseph Ciurej
552b4eae9e Fixes to Handling Multiple Architectures (#2261)
* Added some notes about how multiarch detection could be fixed.

* Implemented a preliminary version of the "spack.spec.ArchSpec" class.

* Updated the "spack.spec.Spec" class to use "ArchSpec" instead of "Arch".

* Fixed a number of small bugs in the "spack.spec.ArchSpec" class.

* Fixed the 'Concretizer.concretize_architecture' method so that it uses the new architecture specs.

* Updated the package class to properly use arch specs.
Removed a number of unused architecture functions.

* Fixed up a number of bugs that were causing the regression tests to fail.
Added a couple of additional regression tests related to architecture parsing/specification.
Fixed a few bugs with setting reserved os/target values on "ArchSpec" objects.
Removed a number of unnecessary functions in the "spack.architecture" and "spack.concretize" modules.

* Fixed a few bugs with reading architecture information from specs.
Updated the tests to use a uniform architecture to improve reliability.
Fixed a few minor style issues.

* Adapted the compiler component of Spack to use arch specs.

* Implemented more test cases for the extended architecture spec features.
Improved error detection for multiple arch components in a spec.

* Fix for backwards compatibility with v0.8 and prior

* Changed os to unknown for compatibility specs

* Use `spack09` instead of `spackcompat` for the platform of old specs.
2016-12-03 15:38:31 -08:00
hegner
2f46613132 Fix download URL and dependencies for py-pypar (#2430)
* fix download URL and dependencies for py-pypar

* use url_for_version in py-pypar
2016-12-02 13:56:00 -08:00
Nicolas Richart
cc92b9a3a2 foam-extend: modification to accept flex version >= 2.6 (#2452)
* Modification to accept flex version >= 2.6 + bug fix on paraview dependency

* flake8 "corrections"
2016-12-02 13:51:03 -08:00
Elizabeth Fischer
18878a8615 doxygen: Disable unnecessary graphviz dependency by default. (#2323) 2016-12-02 10:56:40 -08:00
Jon Rood
8b612d3568 Updating SuperLU package to use pic_flag instead of -fPIC, and removing specific version for default install method. (#2456) 2016-12-02 10:47:35 -08:00
Jon Rood
946605a4c9 Updating yaml-cpp from Package to CMakePackage. (#2457) 2016-12-02 10:41:18 -08:00
Gregory Lee
84dc0b5b83 new intel parallel studio versions (#2459) 2016-12-02 10:35:36 -08:00
Andrey Prokopenko
3024c0096a cmake: update the requirements for --no-system-jsoncpp option (#2312)
The option appeared in CMake 3.2 (specifically, in 3.2.0-rc2, see
https://cmake.org/pipermail/cmake-developers/2015-February/024552.html).
2016-12-01 17:51:00 -08:00
George Hartzell
c01f78e515 Make X11 font install dir the font search default (#2203)
* Make X11 font install dir the font search default

We install the X11 fonts into `/share/fonts` beneath the font-util
installation prefix, but that directory is not one of the places that
the font subsystem searches.

This commit makes the fontconfig package depend on the font-util
package, and then it makes

```python
spec['font-util'].prefix + "/share/fonts"
```

be the fontconfig default font location.

Before this change, plots drawn by R have bounding boxes where font
glyphs should be.  After this change fonts appear as expected.

* Enrich description string (trigger new CI run)

Improve the docstring for the package.

Also interested in the side effect of triggering another CI run
to see if the recent flake8 fix lets this PR run clean.

* Flake8 cleanups
2016-12-01 17:38:00 -08:00
hegner
8dae60c5f0 Fix py-scientificpython and py-argcomplete dependencies (#2420)
* add missing py-numpy dependency to scipy

* add missing setuptools build dependency to py-argcomplete
2016-12-01 14:34:07 -08:00
Sergey Kosukhin
c6e2d9c1b0 Updated hdf5: new versions added. (#2442)
* Updated hdf5: new versions added.

* Updated hdf5: url_for_version() accounts for per-version urls.
2016-12-01 14:31:27 -08:00
Matt Belhorn
e26a0be731 Does nothing if no prexisting config.guess is found. (#2446)
* Does nothing if no prexisting config.guess is found.

* Update name for RHEL OS.
2016-12-01 11:54:48 -06:00
TomasPuverle
f1fe614d67 Update tutorial_sc16_packaging.rst (#2450)
Fixed a typo.
2016-12-01 11:53:18 -06:00
TomasPuverle
a961797155 Update workflows.rst (#2451)
Fixed a typo.
2016-12-01 11:53:03 -06:00
Sergey Kosukhin
051720defd More informative help messages for spack config. (#2453) 2016-12-01 11:52:56 -06:00
Bruno Turcksin
bc4237c93e Update trilinos version to 12.10.1 (#2454) 2016-12-01 11:52:05 -06:00
Denis Davydov
6ce0ee49a9 likwid: add new package (#2455) 2016-12-01 11:51:23 -06:00
Gregory Lee
8e816f8f88 Merge pull request #2364 from davydden/ips_mkl
intel-parallel-studio: fix location of MKL libs
2016-12-01 09:21:37 -08:00
George Hartzell
8ab69c4d32 Update R&friends to use our X11 libs (#2053)
* Update R&friends to use our X11 libs

Add `depends_on()`'s for R, Cairo, and Tk so that they use the Spack X
bits.

* Conditionalize X stuff on variant

Another step towards hooking up the X stuff.

There's still discussion happening on the issue, but this is better
than the 'everything must build with X' state that it was in.
2016-11-30 15:49:49 -06:00
Adam J. Stewart
6cc9b31747 Allow shell support to work when set -u is set (#2418) 2016-11-29 17:04:29 -08:00
Javier
5eb7026dd1 New package - r-irkernel (#2434)
* New package - r-irkernel

* New package - r-pbdzmq, dependency of r-irkernel

* Adding blank line expected by flake8 tests
2016-11-29 16:59:28 -08:00
Joseph Ciurej
3d439d8946 Added the '+debug' and '+except' variants to the 'tetgen' package. (#2370)
Fixed a bug that was causing memory errors after asserts in 'tetgen@1.5.0'.
2016-11-29 16:18:03 -06:00
hegner
c3e34b480a CDash fixes (#2438)
use short spec instead of spec as CDash has a limitation in name length
mark all problems as 'FAILED' as CDash does not understand "ERRORED" status
2016-11-29 13:30:59 -06:00
Javier
e3778923b6 New package - r-rbokeh (#2436) 2016-11-29 11:29:46 -06:00
Erik Schnetter
00ad8e87f4 jemalloc: Update to 4.3.1 (#2435)
This corrects a severe problem (segfault) on macos Sierra.
2016-11-29 09:51:55 -06:00
Barry Smith
4d56d4f1f9 add support for installing the development (master) version of PETSc (#2431)
Funded-by:  IDEAS
Project:  IDEAS/xSDK
Time:   .3 hours
x
2016-11-29 09:28:09 -06:00
hegner
a6d579ea15 add headers neede for CDASH to junit output (#2433) 2016-11-29 08:29:57 -06:00
Adam J. Stewart
664939eeba Fix building latest version of flex (#2401)
* Fix building latest version of flex

* Don't need when clause

* Remove perl deps, shebang too long
2016-11-28 09:48:34 -08:00
hegner
a2e6de9b5d add missing zeromq dependency to r-rzmq (#2425) 2016-11-28 09:14:16 -08:00
Javier
bb5bd8091d New package - r-pryr (#2424) 2016-11-28 09:14:10 -08:00
Javier
2d43b56deb New package - r-uuid (#2423) 2016-11-28 09:14:05 -08:00
Javier
6e68a01e50 New package - r-rmarkdown (#2422) 2016-11-28 09:14:00 -08:00
Javier
6c2729ae6f New package - r-repr (#2421) 2016-11-28 09:13:20 -08:00
Denis Davydov
d2d23b76da hdf5: fix for lib64 installation (#2349) 2016-11-28 09:12:48 -08:00
Denis Davydov
b47bd9cc00 scotch: fix compilation on macOS (#2326) 2016-11-26 16:48:50 -08:00
Javier
eeb9c84677 New package - r-rinside (#2416)
* New package - r-rinside

* Changes to pass flake8 test
2016-11-26 16:48:04 -08:00
Javier
1cdfc30374 New package - r-rsnns (#2415) 2016-11-26 16:47:56 -08:00
Javier
0c4e97b6a1 New package - r-rzmq (#2414)
* New package - r-rzmq

* Adding homepage
2016-11-26 16:47:47 -08:00
Javier
7baa6e824b New package - r-irdisplay (#2413) 2016-11-26 16:47:38 -08:00
Javier
cc0d08255c New package - r-hexbin (#2412) 2016-11-26 16:47:25 -08:00
Andrey Prokopenko
8f0b91edaa netcdf: multiple improvements (#2377)
- Added 'dap' and 'cdmremote' variants
  This is based on work in #2324 with the following motivation:
      Turn off DAP support by deafult.  DAP requires curl, which has issues
      with circular dependencies.  For 95% of NetCDF users that do not need
      DAP, turning it off avoides this rats nest of problems.
- Added 'parallel-netcdf' variant
  To support work with parallel-netcdf
- Added 'shared' and 'static' build separation
2016-11-24 13:52:28 -08:00
George Hartzell
cde8f697a9 Bugfix/update go packages (#2369)
* Update go-bootstrap package

The last C based Go src tree was the 1.4 series.  For a while they
were cutting new releases so that people could bootstrap from a C only
system.  Now they're recommending that you either use the release-1.4
branch or that you use a date-stamped tarball that they'll produce on
an as-needed basis.

There are several issues that keep 1.4.2 from building on a CentOS 7
system.

I've switched to the date based tarball.

The cgo bits were also mis-behaving, but they're not needed for the
bootstrapping task so I've set an environment variable that disables
them.

Details [on the install-from-source
page](https://golang.org/doc/install/source#go14) and these issues:

- https://github.com/golang/go/issues/17545
- https://github.com/golang/go/issues/16352.

* Update go package

Switched from pulling from the git repository to using the source
tarballs and added digest values.

Added support for 1.7.3, continued supporting 1.6.2, including patches
for a couple of problems (details in
[17545](https://github.com/golang/go/issues/17545) and
[17986](https://github.com/golang/go/issues/17986).

Dropped support for 1.5.4 and 1.4.2 because they no longer pass their
tests and the patches above to not apply.
2016-11-24 12:25:51 -08:00
Andrey Prokopenko
11bfccd53f Adding pic_flag property to compilers (#2375)
Different compilers have different flags for PIC (position-independent
code). This patch provides a common ground to accessing it inside specs.

See discussions in #508 and #2373. This patch does not address the issue
of mixed compilers as mentioned in #508.
2016-11-24 12:25:22 -08:00
scheibelp
261d36e801 Add dynamic search option for package sources (#2270)
Package provides a 'list_url' attribute which may be searched to find
download links. #1822 created a slowdown for all tests by always
searching this URL. This reenables dynamic search only in cases where
all other fetchers fail. This also only enables dynamic search when
'mirror_only' is set to false.
2016-11-24 12:21:05 -08:00
Javier
9c267e9c73 Updated version - r-lattice (#2410) 2016-11-24 12:19:42 -08:00
Javier
09a5826903 New package - r-testit (#2409) 2016-11-24 12:19:10 -08:00
Javier
f4fc670ab4 New package - r-highr (#2408) 2016-11-24 12:19:05 -08:00
Javier
bb3239903b New package - r-knitr (#2407) 2016-11-24 12:19:01 -08:00
Javier
8949e67ce3 New package - r-gistr (#2406) 2016-11-24 12:18:57 -08:00
Javier
85638aad03 New package - r-formatr (#2405)
* New package - r-formatr

* Block comment should start with '# '
2016-11-24 12:18:47 -08:00
Javier
4214281ab3 New package - r-evaluate (#2404) 2016-11-24 12:18:41 -08:00
Gregory Lee
96bc3ff8f6 added qt variants for pyqt to build (#2389) 2016-11-23 14:10:12 -08:00
Jon Rood
a6db0bfae2 Updating SuperLU package file with ability to build version 4.3. (#2390)
* Updating SuperLU package file with ability to build version 4.3 (before they added cmake) with external blas or internal blas, and added capability to build the latest version 5.2.1 (with cmake) with internal blas.

* Updating SuperLU package file with suggested changes, i.e. reorganizing installation methods based on version, adding cmake dependency when necessary, removing any use of internal blas, and also adding fpic variant.

* Fixing flake8 failures.
2016-11-23 13:26:00 -08:00
Javier
c3aa5443b9 Adding R library r-bitops (#2382) 2016-11-23 13:24:35 -08:00
Adam J. Stewart
e60bccd95c Fix indentation for newly created packages (#2391) 2016-11-23 10:58:13 -08:00
Javier
7bda4e98b3 New package - r-catools (#2394)
* New package - r-catools

* Splitting lines to pass flake8 travis test
2016-11-23 10:57:47 -08:00
Javier
b085ce9e94 New package - r-partykit (#2395)
* New package - r-partykit

* Splitting lines to pass flake8 travis test
2016-11-23 10:57:23 -08:00
Javier
0eddf8421d New package - r-formula (#2396) 2016-11-23 10:56:59 -08:00
Javier
d6710a6aaf New package - r-deoptim (#2397) 2016-11-23 10:56:37 -08:00
Javier
74e6db9060 New package - r-c50 (#2393)
* Adding R library r-bitops

* New package - r-c50
2016-11-23 10:56:13 -08:00
Jon Rood
f8d038c0b8 New package yaml-cpp (#2399)
* Adding new package for yaml-cpp.

* Removing gcc specific c++11 flag. Adding fpic variant. Fixing formatting.
2016-11-23 10:54:22 -08:00
Matthew Scott Krafczyk
1fbe67af3d Update flex package url's and versions (#2384)
* Update flex package url's and versions

The old sourceforge page for flex is now defunct. While version 2.6.0
still downloads fine, later versions are no longer hosted there.
Development continues on github. I've adjusted urls to point to this
new location.

In addition, from 2.6.0 onwards, a new naming scheme for releases seems
to have been adopted. I've created a url_for_version function to sort
this out.

* Change flex to an AutotoolsPackage

Also move the url_for_version function to the end of the package
definition.

* Implement the autoreconf function for flex
2016-11-22 14:30:25 -08:00
Adam J. Stewart
f351e4402c Update external distro package to 1.0.1 (#2381) 2016-11-22 14:01:01 -08:00
Todd Gamblin
1901b05b9c Forgot http:// in tutorial link. 2016-11-22 01:24:48 -08:00
Todd Gamblin
c394046971 Fix broken doc links. 2016-11-22 00:55:04 -08:00
becker33
5e73266572 Merge pull request #2291 from ax3l/topic-icet
Packages: Add IceT
2016-11-21 14:27:17 -08:00
becker33
294ad3e818 Merge pull request #2343 from krafczyk/features/better_diagnostics
Improve diagnostics to ease debugging
2016-11-21 14:22:26 -08:00
becker33
760bca3048 Merge pull request #2376 from aprokop/misprint_fix
llvm-lld: minor misprint fix
2016-11-21 14:12:44 -08:00
Andrey Prokopenko
3954fc8545 llvm-lld: minor misprint fix 2016-11-21 16:22:31 -05:00
Glenn Johnson
a8e40bf803 intel-parallel-studio: fix location of MKL libs 2016-11-18 23:16:47 +01:00
Matthew Krafczyk
f1b26cb72e Improve stacktrace printing
Sometimes files in the stacktrace are not from spack. Remove these
files before finding the spack root.
2016-11-17 12:51:41 -05:00
Matthew Krafczyk
de7171db8a Use better scheme for getting root directory 2016-11-16 12:14:25 -05:00
Matthew Krafczyk
6c854246aa Fix some formatting errors caught by flake8. 2016-11-16 11:58:36 -05:00
Matthew Krafczyk
8e6d890a19 -s now includes the file and line number with info
The option -s now causes file and line number information to be printed
along with any invocation of msg, info, etc...

This will greatly ease debugging.
2016-11-16 11:58:36 -05:00
Denis Davydov
a5fb33b0e4 python: symlink lib64/python2.7/lib-dynload/ to lib/python2.7/lib-dynload/ (#2295) 2016-11-16 07:29:08 -07:00
Todd Gamblin
2611cbed40 Move tutorial slides to external link and stop using git LFS (#2341)
- Seems like older git versions won't be able to clone an LFS repo.

- Reverting to an external link for the slides to avoid storing an 8MB
  file in the repo and to avoid using git LFS.
2016-11-15 14:11:26 -07:00
Todd Gamblin
2fcac22e66 Add tutorial link to README 2016-11-14 18:35:21 -07:00
Todd Gamblin
85a05681cc Add SC16 tutorial to the Spack docs. (#2334) 2016-11-14 18:23:30 -07:00
Todd Gamblin
bdd1069a9e Add SC16 tutorial to the Spack docs. 2016-11-14 18:08:21 -07:00
becker33
93287b950b Merge pull request #1547 from citibeth/efischer/160816-PyPathspec
py-pathspec: New package
2016-11-14 15:13:21 -08:00
Axel Huebl
4b82d881dc Add Package: IceT
Adds the IceT compositing library from Sandia/Kitware.
Most default functionality needed for image compositing is
added, OpenGL acceleration for very large displays is disabled.

Downstream usage:
  most VTK based software which supports parallel image compositing,
such as VisIt, Paraview and in our use-case
[ISAAC](https://github.com/ComputationalRadiationPhysics/isaac).
2016-11-13 16:50:14 -07:00
becker33
b13b253ced Edited/fixed basic usage tutorial (#2329)
* Colify compiler output

* Edited/fixed basic usage tutorial

* fix console spacing.
2016-11-13 09:29:32 -07:00
Massimiliano Culpo
103a98a468 fake install: mock include directory (#2294) 2016-11-13 04:45:50 -07:00
Massimiliano Culpo
7e93a0e5f1 install: fixed choices for --only (removed the default) fixes #2303 (#2308) 2016-11-13 04:45:29 -07:00
Kelly Thompson
05c6c40e36 Force the recipe for Lua to use the spack compiler. (#2299)
* Force the recipe for Lua to use the spack compiler.

I'm not sure how the old recipe worked for anyone. The Lua Makefiles set
`CC=gcc` and for my spack environment the first `gcc` found in my `PATH` is
`$SPACK_ROOT/lib/spack/env/gcc`, which is a directory. This caused the build
to fail. My change drops the `-std=gnu99`, but this option doesn't appear
to be required for a sucessful build.

* Preserve the '-std=gnu99' compile option.
2016-11-12 21:46:59 -07:00
Elizabeth Fischer
8c0c3263e2 Simplify the CMake build to make it more robust. (#2325)
* Simplify the CMake build to make it more robust.

* ncurses on by default.
2016-11-12 21:26:40 -07:00
Todd Gamblin
a5934fcaa6 Remove automake dep in libelf. (#2328) 2016-11-12 21:25:14 -07:00
Gregory Becker
7201053f2a Basic usage step-by-step tutorial 2016-11-12 16:55:37 -07:00
Matthew LeGendre
216d269f1d Add packaging tutorial to docs (#2315)
* Add packaging tutorial to docs

* packaging tutorial: formatting
2016-11-12 07:45:50 -08:00
Adam J. Stewart
09470ec672 Add VizGlow package (#2298) 2016-11-10 21:55:27 -08:00
Axel Huebl
42cc997aea Packages: Add Jansson (#2287)
This adds the built recipe for
[Jansson](http://www.digip.org/jansson/),
*a C library for encoding, decoding and manipulating JSON data.*

GitHub Repo: https://github.com/akheron/jansson

Downstream Usage:
  In [ISAAC](https://github.com/ComputationalRadiationPhysics/isaac)
which is an *in situ visualization library* based on
  [alpaka](https://github.com/ComputationalRadiationPhysics/alpaka)
and/or CUDA which is used in
  [PIConGPU](https://github.com/ComputationalRadiationPhysics/picongpu).
2016-11-10 21:52:49 -08:00
Denis Davydov
7cb756cdbb tree: use Spack's compiler and fix installation on macOS (#2293) 2016-11-10 21:52:22 -08:00
Axel Huebl
26ed2327ae Packages: Add libwebsockets (#2288)
This adds the built recipe for
[libwebsockets](https://libwebsockets.org/lws-api-doc-master/html/index.html),
a *C library for lightweight websocket clients and servers*.

GitHub Repo: https://github.com/warmcat/libwebsockets

Downstream Usage:
  In [ISAAC](https://github.com/ComputationalRadiationPhysics/isaac)
which is an *in situ visualization library* based on
  [alpaka](https://github.com/ComputationalRadiationPhysics/alpaka)
and/or CUDA which is used in
  [PIConGPU](https://github.com/ComputationalRadiationPhysics/picongpu).
2016-11-10 21:51:50 -08:00
Adam J. Stewart
99cf7b4ab3 Run HDF 5 tests post-installation (#2297) 2016-11-10 21:50:32 -08:00
scheibelp
bece9aca84 Allow compiler wrapper to modify environment (#2275)
* Allow compiler wrapper to modify environment

This adds the ability to set environment variables in the compiler
wrappers. These are specified as part of the compilers.yaml config.
The user may also specify RPATHs in compilers.yaml that should be
added.

* Minor doc tweak
2016-11-09 08:00:34 -08:00
christianbaensch
2e11e7e456 Update package.py with/out CUDA support (#2266)
Adding some lines to prevent from using any CUDA stuff, if NVIDIA CUDA Developement Kit was installed before.
2016-11-09 07:37:40 -08:00
Massimiliano Culpo
e5edac8af6 zlib, tar: passed to AutotoolsPackage (#2273) 2016-11-09 07:37:08 -08:00
Massimiliano Culpo
01e42bfea0 find, uninstall: improved user interaction in the case of empty DB (#2278) 2016-11-09 07:36:45 -08:00
Gregory Lee
1b64213b10 added numpy version 1.11.2 and moved url to pypi.io (#2286) 2016-11-09 07:35:30 -08:00
Oliver Breitwieser
98f27a89ec Add py-pudb package (#2289) 2016-11-09 07:34:30 -08:00
Oliver Breitwieser
68f79043aa Add 1.5.3 for py-matplotlib and moved to pypi.io (#2271)
* Added version 1.5.3 for py-matplotlib

* Updated url to pypi.io so all versions are properly downloaded.
2016-11-09 07:34:17 -08:00
Sergey Kosukhin
4457c6a2ad Updated environment-modules package: (#2279)
Added 'lib64' directory as a possible option where tclConfig.sh file can be found.
2016-11-08 07:19:31 -08:00
Pramod Kumbhar
ba58a9f30d fix tau installation issue (#2269)
* fix tau installation issue : setup_environment() is
called before install phase when 'Makefile.*' doesn't
exist (causing list index out of range error).

* Added detailed comment suggested by @alalazo
2016-11-08 07:18:14 -08:00
Gregory Lee
1f5ca24197 Merge pull request #2197 from skosukhin/ext_bugfix
Updated python package reflecting the changes in 9347f86
2016-11-07 16:05:57 -08:00
Todd Gamblin
908ba6e3d6 Waste less space when fetching cached archives, simplify fetch messages. (#2264)
* Waste less space when fetching cached archives, simplify fetch messages.

- Just symlink cached files into the stage instead of copying them with curl.
- Don't copy linked files back into the cache when done fetching.

* Fixes for review.

* more updates

* last update
2016-11-07 01:34:30 -08:00
Todd Gamblin
08477f6624 Don't automatically spider remote list_urls before making stage. (#2263)
- This might be useful but we don't want to do it unconditionally.
2016-11-06 20:50:14 -08:00
becker33
49b1c0df2b Changed cflag matching to exact rather than subset. (#2227)
Not the desired eventual behavior, but cflag subset matching is not currently working for anonymous specs and this provides a temporary solution by restricting the feature until it is fixed.
2016-11-06 15:32:05 -08:00
Adam J. Stewart
ca5f713282 Further restrict versions of GCC patched (#2259) 2016-11-06 15:31:48 -08:00
George Hartzell
7f5d1953d4 Wordsmithing/minor-edits to module tutorial (#2256)
* Wordsmithing/minor-edits to module tutorial

A small set of wordsmithing, spell checking and minor edits to the fancy
new modules tutorial!

* Fix typo (sneaky z key...)

* Fix "S:" and "manual<" typos
2016-11-06 14:56:41 -08:00
Todd Gamblin
544b147370 Add detection for redhat enterprise server to distro.py (#2262) 2016-11-06 14:23:21 -08:00
Michael Kuron
6f2c05b888 Add PFFT parallel FFT package (#2255)
* Add PFFT parallel FFT package

* pfft: fix non-double precision
2016-11-05 12:19:19 -07:00
Massimiliano Culpo
6c1113769b mpich: updated package to build_systems (#2254)
* mpich: updated package to build_systems

* qa : flake8 issues
2016-11-05 11:23:57 -07:00
Massimiliano Culpo
1bef2b7e98 variable referenced before assignment (#2252) 2016-11-05 10:15:29 -07:00
Jeffrey Salmond
a260e7e860 Bugfix in concretize_compiler (#2196)
* fix bug in search for concrete compiler

* simplify implementation of concretize_compiler

* fix flake8 errors
2016-11-04 23:20:49 -07:00
Adam J. Stewart
6d1c32d46a Add STAR-CCM+ package (#2202)
* Add STAR-CCM+ package

* Cleanup commented out code
2016-11-04 23:16:20 -07:00
Sergey Kosukhin
6dfc536ecd Updated py-netcdf: added dependency on py-setuptools. (#2213) 2016-11-04 23:15:55 -07:00
George Hartzell
bcee2ca162 New texlive release, updating the digest to match (#2218)
* November 1 seems to have brought a new texlive release, updating the
digest to match.

Also switching the url from their automagic mirror to an explicit
site to avoid inconsistencies during their updates.

It seems like only yesterday (#2073) that I updated this....

* Add comment to url warning about mirror updates

Add a comment to the download info warning to use a
specific site rather than the mirror, to avoid wobbles
during their asynchronous updates.

* Fix typo ('to no' -> 'do not')
2016-11-04 23:14:48 -07:00
scheibelp
0940ee6015 Fixes #1520 (#1822)
Some packages which include resources fetched from source control
repositories terminated package installs because they failed to
archive; specifically, this included all SCM resources which identify
a specific state of the repo - for example a revision in svn or a
tag/revision in git. This is because the resource stage creation
logic did not choose an appropriate archive name for these kinds of
resources.
2016-11-04 20:14:56 -07:00
Adam J. Stewart
4e6d535058 Set Clang as the default compiler on macOS (#2225)
* Set OS-specific default compilers

* Fix flake8 warnings
2016-11-04 17:32:25 -07:00
Todd Gamblin
78154a63e8 Fix bug in distribution detection on unsupported platforms. 2016-11-04 16:49:19 -07:00
Jeffrey Salmond
9cd83a4efb Use code from the distro package to improve linux distro detection. (#1629)
* Use code from the `distro` package to improve linux distro detection.

Various issues [1] [2] with the platform.linux_distribution function led
to the function being deprecated in python 3.4. The pipi package distro
[3] contains compatible improved code that better tracks current methods
for identifying linux distributions (see, for example, [4],[5]).

[1]: https://bugs.python.org/issue20454
[2]: http://bugs.python.org/issue1322
[3]: https://pypi.python.org/pypi/distro
[4]: https://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/lsbrelease.html
[5]: https://www.freedesktop.org/software/systemd/man/os-release.html

* fix (potential) unicode problems
2016-11-04 16:38:44 -07:00
Axel Huebl
c3d9dda0e5 libSplash: Add 1.6.0 Release (#2244)
* libSplash: Add 1.6.0 Release

Add the latest release of libSplash, version 1.6.0.

* Fix flake8 checks (another loop inversion issue)
2016-11-04 16:27:17 -07:00
Massimiliano Culpo
401b4cb137 module files tutorial : first complete draft (#2228)
* module files tutorial : first complete draft

- first complete draft for module files tutorial
- minor corrections to module file reference

* module file tutorial : first batch of corrections

- module avail spelled out fully
- typos from @adamjstewart
- rewording of a few sentences

* module file tutorial : first batch of corrections

- emphasized lines in yaml files

* module file tutorial : fixes according to @citibeth and @adamjstewart reviews

- used long format for command options
- reworded unclear sentence on tokes
- reworked table in reference manual to make it clearer

* module file tutorial : implemented corrections collected on site from @schlyfts

* module file tutorial : removed comment (@hartzell suggestion)
2016-11-04 12:55:43 -07:00
Gregory Lee
ee6eb508cb patch older config.guess for newer architectures (#2221) 2016-11-04 12:12:37 -07:00
Massimiliano Culpo
296a349d49 setup script for bash : fixes #2209 for sh setup (#2212) 2016-11-04 12:00:01 -07:00
Jeffrey Salmond
472ad39db3 updates to matio package (#2243)
* updates to matio package

- update to a AutoTools package
- add variants for hdf5 and zlib
- add latest version

* fix flake8 error
2016-11-04 11:56:47 -07:00
Jeffrey Salmond
f01b9797d7 opencoarrays package fixes and new version (#2239)
* fix and simplify opencoarrays package using new CMakePackge methods

* add new version
2016-11-04 11:50:25 -07:00
Todd Gamblin
2536029ea9 Better spack spec (#2238)
* Add options for hashes, tree depth, and YAML to `spack spec`.

- Can now display hashes with `spack spec`, like `spack find`.
  - Removed the old "ids" argument to `spack spec` (which
    printed numerical values)b

- Can output YAML spec from `spack spec` with `-y`

- Can control depth of DAG traversal with --cover=[nodes|edges|paths]

- Can print install status (installed, missing, not installed) with -I

* Don't use YAML aliases in specs.

- Force Spack's YAML dumper to ignore aliases.
- aliases cause non-canonical YAML to be used in DAG hash, and result in
  redundant hashes.
- add a test to ensure this behavior stays
2016-11-04 11:47:57 -07:00
Peter J. Scheibel
9a585e6c6a Make spec.format properties case-insensitive 2016-11-04 11:41:20 -07:00
Peter J. Scheibel
74b439b7f1 Support 'COMPILERVERSION' in spec format string 2016-11-04 11:41:20 -07:00
Jeffrey Salmond
a135a1245a tweaks to packages using CMakePackage (#2241)
* fix to trilinos package

* fix to dealii package

* fix to everytrace package

* fix to everytrace-example package

* changes suggested by @davydden
2016-11-04 10:57:53 -07:00
Denis Davydov
29f81b7775 trilinos: switch to CMakePackage and minor cleanup (#2226) 2016-11-04 02:00:03 -07:00
Denis Davydov
453331dba0 dealii: switch to CMakePackage and minor cleanup (#2237) 2016-11-04 01:46:39 -07:00
Denis Davydov
1eeef97c78 remove obsolete instructions on hacking clang+gfortran (#2217)
* remove obsolete instructions on hacking clang+gfortran

* add detailed instructions on how to setup Clang+gfortran on macOS
2016-11-03 08:06:33 -07:00
Massimiliano Culpo
36a4ca8b11 spack install: forward sys.stdin to child processes (#2158)
* spack install: forward sys.stdin to child processes fixes #2140

 - [ ] redirection process is spawned in __enter__ instead of __init__
 - [ ] sys.stdin is forwarded to child processes

* log: wrapped __init__ definition
2016-11-03 08:03:10 -07:00
Massimiliano Culpo
5b5894afba spack find: accepts anonymous specs as arguments fixes #2170 (#2188) 2016-11-03 00:45:15 -07:00
Pramod Kumbhar
b706da1109 Set TAU_MAKEFILE env variable (#2210)
* In order to use TAU module, we have to set TAU_MAKEFILE env variable.

* updated with suggestions from @citibeth
2016-11-02 15:05:47 -05:00
Todd Gamblin
b304387308 Fix style checker bug. (#2214)
* Fix style checker bug.

* spack flake8: print cwd-relative paths by default, with root-relative option.
2016-11-02 12:17:35 -05:00
Barry Smith
9455621ec2 Add support for gfortran to be used with clang (#2192)
1) list gfortran as a fc and f77 compiler that can work with clang
2) allow compatible gfortran to ./spack compiler find with clang by matching version numbers

This is based on the discussions in

https://github.com/LLNL/spack/issues/237
https://github.com/dealii/dealii/wiki/deal.II-in-Spack#mixing-gcc-and-clang-on-osx

This is not a long term solution but something to get us through the next months until the compiler
infrastructure is reworked to allow mixing and matching for C/C++ and Fortran compilers

Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 1.5 hours
2016-11-02 11:17:13 -05:00
Sergey Kosukhin
8fb5cb2137 Added first version of the NCL package. (#2195)
Without GRIB2 and HDF-EOS support yet.
2016-11-02 10:20:57 -05:00
Peter Doak
1aa5d4875e Nmap package added (#2206)
* works to build newest version of nmap with gcc@5.3.0

* formatting

* clean up
2016-11-01 16:10:39 -07:00
scheibelp
45a4388164 Update references in debug command (#2204) 2016-11-01 13:55:13 -07:00
Sergey Kosukhin
62eba4774d Updated python package reflecting the changes in 9347f86 2016-11-01 16:15:34 +01:00
Todd Gamblin
edfe2297fd Improved package.py error handling. (#2187)
- Detailed debug information is now handed back to the parent process
  from builds, for *any* type of exception.

- previously this only worked for Spack ProcessErrors, but now it works
  for any type of error raised in a child.

- Spack will print an error message and source code context for build
  errors by default.

- It will print a stack trace when using `spack -d`, even when the error
  occurred in the child process.
2016-10-31 15:32:19 -07:00
Todd Gamblin
1b7f9e24f4 Add spack flake8 command. (#2186)
- Ported old run-flake8-tests qa script to `spack flake8` command.
- New command does not modify files in the source tree
- Copies files to a temp stage modifies them there, and runs tests.
- Updated docs and `run-flake8-tests` script to call `spack flake8`.
2016-10-31 11:40:20 -07:00
Todd Gamblin
4be703cde0 Allow common args to be written the same way regular args are. 2016-10-30 23:55:00 -07:00
Todd Gamblin
8f21332fec Bugfix: '::' only worked on top-level key in config.
- generalized and fixed to work with any key in YAML file
- simplified schema writing, as well
- add more unit tests for the config system
- Rename test/yaml.py to test/spack_yaml.py
  - Add test/yaml.pyc to ignored pyc files.
2016-10-30 23:55:00 -07:00
Todd Gamblin
d155156e32 Documentation for configuration 2016-10-30 23:55:00 -07:00
Todd Gamblin
b962622975 Add spack arch --platform option 2016-10-30 23:55:00 -07:00
Todd Gamblin
db89b534bd travis.yml: Only build master and develop on push 2016-10-30 23:55:00 -07:00
Todd Gamblin
58e76721b9 Make provider_index use spack yaml for cleaner output. 2016-10-30 23:55:00 -07:00
Todd Gamblin
da760a66de source_cache, misc_cache, verify_ssl, checksum, & dirty in config.yaml
- Added new preferences to config.yaml:
  - source_cache
  - misc_cache
  - verify_ssl
  - checksum
  - dirty
2016-10-30 23:55:00 -07:00
Todd Gamblin
22b14e0f23 Add module_roots to config.yaml 2016-10-30 23:55:00 -07:00
Todd Gamblin
0da639298c Move temp directory configuration to config.yaml
- Moved temp finding logic to spack.stage
- Updated stage tests
- Added tests for new path substaitution of $user, $spack, $tempdir
2016-10-30 23:55:00 -07:00
Todd Gamblin
9347f86939 Rename install.yaml -> config.yaml, install_area -> "store"
- Added a schema for config.yaml
- Moved install tree configuration to config.yaml
- Moved etc/spack/install.yaml to etc/spack/defaults/config.yaml
- renamed install_area to "store", to use a term in common with guix/nix.
  - in `config.yaml` file, it's called the `install_tree` to be more
    intuitive to users.
  - `install_tree` might've worked in the code, but `install_tree` is
    already a global function in the spack namespace, from
    llnl.util.filesystem.
2016-10-30 23:55:00 -07:00
Benedikt Hegner
24901f7a38 add documentation for new option to set install area 2016-10-30 23:55:00 -07:00
Benedikt Hegner
c557e76565 refactor settings for install area and make them config options 2016-10-30 23:55:00 -07:00
Matt Belhorn
7ccf56a0b7 Removes cyclic dependency on spack.config. (#2121)
Merge #2030 added a cyclic dependency between the Cray platform needing
to read a `targets.yaml` config file and `config.py` needing to get the
platform names.

This commit removes the cyclic dependency in favor of the more general
config scheme. It also removes the now functionless `targets.yaml`
config file. This breaks 'frontend' targets on the Cray platform but
all architecture targets, including the frontend, that are provided by
CrayPE are added to the Platform anyway so users can be explicit about
the architecture targeted by the Cray compiler wrappers:

```
spack spec libelf arch=cray-CNL-frontend
```

becomes

```
spack spec libelf arch=cray-CNL-mc8         # on an XK7 or
spack spec libelf arch=cray-CNL-sandybridge # on an older XC30, etc..
```

The only way the 'frontend' target can be defined after this commit is
through target environment variables.
2016-10-30 21:02:27 -07:00
Barry Smith
a714377123 python: PYTHONHOME may not be the same as the prefix of the python executable (#2173)
On MacOS, brew installs /usr/local/bin/python but the Python prefix is not /usr/local/bin
Use the python command sys.exec to get the correct directory, instead of the ad hoc self.prefix
previously used

This was a bear to debug; been driving me nuts since I started using spack.
Since spack passes PYTHONHOME down to package builds in the environment
it was passing PYTHONHOME of /usr/local/bin to the PETSc build that uses Python so
the PETSc Python ./configure errored immediately with

ImportError: No module named site

since python could find no python modules. Todd Gamblin pointed out that my first try to fix
this was wrong since it assumed the spack python was the same python used to run spack. Elizabeth Fischer
suggested how to get it to work also with python3

Funded-by: IDEAS
Project: IDEAS/xSDK
Time:  7 hours
Thanks-to: Todd Gamblin, Elizabeth Fischer
2016-10-30 17:13:16 -07:00
Massimiliano Culpo
9989f8e267 module file support: major rework of docs (#2169)
* module file support: major rework of docs

* module file support: fixed issues found by @adamjstewart

- list or enumeration should not be indented
- use console instead of bash or csh in things that are not scripts
- other typos

* module file support: fixed other issues found by @adamjstewart

- tables should not be indented
- substitute lines with pyobject to import an entire function
- get help output running commands
- typos

* module file support: fixes according to review comments

- @citibeth moved `spack module loads` after `spack load`
- @glennpj tried to clarify installation table + changes to language
- @tgamblin Removed top level section and moved the whole thing into the reference manual

* module file support: moved directive before spack module loads
2016-10-30 12:41:41 -07:00
Massimiliano Culpo
4d35ac6a16 configuration file for modules : fixed enable keyword (#2176)
- enable keyword works again
- test/modules.py : proper clean-up after tests
2016-10-30 12:30:51 -07:00
Gregory Lee
dbd9f1c5a1 updated gtk and gobject dependences (#2126) 2016-10-30 11:50:36 -07:00
Barry Smith
ef2c42a889 Do not check directory layout for external packages (#2172)
External packages do not have an spec.yaml file so don't check for it.
Without this change any time a package depends on an external package
when the new package is installed you will get the error

Install prefix exists but contains no spec.yaml

This problem has also haunted me since I started using Spack since PETSc
depends on Python and I used an external python but fortunately it
was relatively easy to debug once I could reproduce it at will.

Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 1 hour
2016-10-29 20:57:41 -07:00
Matthew Scott Krafczyk
c2d58d39dd Import dso_suffix from spack.build_environment in abi.py (#2174)
Fixes #1845
2016-10-29 16:47:06 -07:00
Adam J. Stewart
893b2e4f62 Update license directory for intel-paralel-studio (#2163) 2016-10-29 14:30:00 -07:00
scheibelp
23683c65de Use Spec.format for token substitution in modules (#1848)
This replaces a custom token-based substitution format with calls to
Spec.format in modules.py

This also resolves a couple issues:

- LmodModules set configuration globally instead of in its initializer
  which meant test-specific configuration was not applied
- Added support for setting hash_length=0 for LmodModules. This only
  affects the module filename and not the directory names for the
  hierarchy tokens in the path. This includes an additional unit test.
2016-10-29 13:56:34 -07:00
Joseph Ciurej
c82985cb5e Update and Clean Up the Visit and VTK Packages (#2167)
* Made some refactoring improvements to the 'visit' and 'vtk' packages.

* Added a small fix for the 'vtk' package when building with 'qt+webkit'.
2016-10-28 17:59:21 -07:00
Adam J. Stewart
58409a2eaf Fix rpath linking for NAG, add documentation on setup (#2142) 2016-10-27 15:28:09 -07:00
Adam J. Stewart
dd53ddb003 Add latest version of Intel Parallel Studio XE (#2151) 2016-10-27 12:58:31 -07:00
Elizabeth Fischer
12270b9dbf Remove support for deprecated package. See also #2085 and #2086 (#2090) 2016-10-26 21:53:08 -07:00
Barry Smith
eb36b2a622 Get Trilinos 12.6.2 to build with Intel compilers and spack (#2102)
Funded-by: IDEAS
Project: IDEAS/xSDK
Time:  2 hours
2016-10-26 21:52:29 -07:00
George Hartzell
bf08bd7076 Fix typo: _choiches -> _choices (#2127)
The breaks `spack create`.
2016-10-26 20:39:08 -07:00
George Hartzell
e652a32f05 typo: vlaues -> values (#2147) 2016-10-26 17:51:01 -07:00
Elizabeth Fischer
3895c974a0 Removed documentation on false paths as per #2083 (#2146)
Removed documentation on false paths as per #2083
2016-10-26 17:11:54 -07:00
Denis Davydov
9f54cea5c5 document recommended usage of system blas/lapack (#2081)
* document recommended usage of system blas/lapack

* update doc

* minor

* reword
2016-10-26 16:22:18 -07:00
Massimiliano Culpo
37dc719d13 ProcessError : now the exception is correctly pickled and passed across processes. (#2143) 2016-10-26 15:17:20 -07:00
Axel Huebl
0007877944 libSplash: Add 1.5.0 Release (#2137)
Add the latest release of libSplash, version 1.5.0.
2016-10-26 14:23:09 -07:00
Massimiliano Culpo
e73ab84680 spack install : added --log-format option (incorporates test-install command) (#2112)
* spack install : added --log-format option (incorporates test-install command)

fixes #1907

* qa : removed extra whitespace
2016-10-26 14:22:46 -07:00
Denis Davydov
46433b9eb3 require fortran for MPI providers to avoid delayed compiler errors (#1937)
* openmpi: require fortran for now

* mpich: requre fortran for now

* mvapich2: require fortran for now

* openmpi: flake8 fixes
2016-10-26 09:12:26 -07:00
Jim Galarowicz
92f17eeba7 Develop: Resolve issue 2070 with new depends_on clause in the openspeedshop package file. (#2136)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.

* Add libxml2+python depends on to get around issues with the libxml2 package file.
2016-10-26 08:37:02 -07:00
Denis Davydov
33fb7bbd1b add a unit test for conretization with develop version (#2064) 2016-10-26 01:49:52 -07:00
Denis Davydov
e65c9f6865 veclibfort: add new package (#2080)
* veclibfort: add new package

* veclibfort: add a small test
2016-10-26 01:49:06 -07:00
George Hartzell
89c1d361b2 Add package for ant (#2133)
Add a package for ant, a java build tool.
2016-10-25 23:57:27 -07:00
George Hartzell
37dede3163 Add package for maven (#2132)
Add a package that installed the pre-built maven distribution.

I've given up, for now, on building maven from source.  That processed
stumbled on two points before I gave up:

1. It downloaded several hundred .{pop,jar} files and I despaired of
   figuring out some way of mirroring and checksumming them; and

2. It exploded complaining about too many unacceptable license files,
   which seems odd in its own source tree.

Perhaps someone with more Java fu that I admit to can figure it out.
In the meantime, this is useful.
2016-10-25 23:56:31 -07:00
Denis Davydov
39772e4c4c filter system paths (#2083)
* add filter_system_paths()

* filter system paths in set_build_environment_variables()

* two function: lib/inc + bin

* reverse order in bin

* fix order

* minor

* improvements of the code

* more cleanup

* alternative solution for filter_bins

* fiddle base alalazo's approach

* minor

* minor
2016-10-25 11:25:13 -07:00
Barry Smith
3de26ff3d7 openblas: Fixes to get OpenBLAS to install with Intel compilers (#2101)
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: 1 hour
2016-10-25 11:12:22 -07:00
Stephen Herbein
14e3a541e1 Add latest versions of Flux prerequisites (#2108)
* libsodium: add latest versions, fix old versions

older versions of libsodium were added to an "old" subdirectory

* zeromq: add 4.1.4

prerequiste for the latest develop version of flux
2016-10-25 11:11:23 -07:00
Mayeul d'Avezac
65c250699f pkg-config variant to use internal glib (#2104)
Pkg-config depends on glib which depends on pkg-config. As a result,
pkg-config used to build glib internally. However, this fails on Mac.
Building pkg-config with an internal glib is now a variant, turned on
by default, and required to build glib.
2016-10-25 11:08:32 -07:00
Adam J. Stewart
a250792202 Find compatibility versions of GCC (#2099) 2016-10-25 11:07:49 -07:00
Adam J. Stewart
08300ccffb Allow newer versions of GCC to compile older versions of GCC (#2107)
* Add patch allowing GCC 6 to compile GCC 5

* Expand patch version range
2016-10-25 11:06:33 -07:00
George Hartzell
14ed97f219 Update cask to v0.8.1 (#2125) 2016-10-25 10:58:50 -07:00
Adam J. Stewart
eeded917cd Rename xpyb to py-xpyb (#2120) 2016-10-25 10:10:16 -07:00
Massimiliano Culpo
7a575d2f4b multimethod.py : calls functools.wraps before returning the correct method fixes #2118 (#2119) 2016-10-25 08:30:40 -07:00
Mayeul d'Avezac
1928d83259 Tells boost explictly about python libraries and headers (#2106)
* Tells boost explictly about libraries and headers

Ideally, bjam would determine the libraries and headers from the
executable. But it doesn't. This rigs a best guess for python libraries
and headers.

* Move glob import to top of file

* variable name change: alllibs --> all_libs

* Use dso suffix rather than hard-coded string

* Use only MAJOR.MINOR when setting up python in bjam
2016-10-25 08:10:52 -07:00
Massimiliano Culpo
b27e78cd78 spack setup : fixed regression after #1186 (#2117) 2016-10-25 07:53:11 -07:00
Denis Davydov
d7b624457f gmp: fix a bug (#2114) 2016-10-25 07:08:52 -07:00
Todd Gamblin
0f6a5cd385 Merge pull request #1186 from epfl-scitas/features/install_with_phases
do_install : allow for an arbitrary number of phases
2016-10-24 17:13:49 -07:00
Todd Gamblin
c1ad4bde28 Rename EditableMakefile to MakefilePackage 2016-10-24 16:41:20 -07:00
Joseph Ciurej
7dd14870ce Bug Fix : Apply Compiler Flags Specified by Manual Compiler Configuration (#1532)
* Fixed a bug causing config-specified compiler flags to be ignored.
Updated the compiler config so all flags are in a separate section.

* Updated the documentation for the `compilers.yaml` file spec.

* Implemented basic testing for the 'flags' section of compiler config.

* Fixed a few minor problems with the manual compiler config documentation.
2016-10-24 14:37:03 -07:00
George Hartzell
e35c023c61 Typo: becuase -> because (#2110) 2016-10-24 14:28:04 -07:00
Barry Smith
453ad8df9d Get netlib-lapack to compile with Intel and add deprecated routines (#2103)
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: .4 hours
2016-10-24 14:25:59 -07:00
Mayeul d'Avezac
509bbd7067 Adds new versions to eigen (#2105)
* Adds new versions to eigen

* Reorder versions from oldest to newest
2016-10-24 11:09:17 -07:00
Elizabeth Fischer
4f0b7cd2c2 Small fix to docs. (#2092) 2016-10-24 11:09:02 -07:00
Massimiliano Culpo
8af9881e9b spack test : exits after ctrl+c fixes #2029 (#2082) 2016-10-24 11:07:08 -07:00
alalazo
7bd735416d package.py : moved each specialized package to its own module file 2016-10-23 22:38:19 +02:00
alalazo
e0f3188970 spack setup : improved error message 2016-10-23 19:10:07 +02:00
alalazo
fa3f07c092 CMakePackage, AutotoolsPackage : added default behavior on check 2016-10-23 19:02:46 +02:00
alalazo
ebbbed166e Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase 2016-10-23 13:35:12 +02:00
alalazo
284ed13fa6 spack.error : fixed pickling and representation to permit to pass FetchErrors 2016-10-23 13:34:29 +02:00
Barry Smith
9d3d492214 mumps: Add support for Intel compiler and insure both lapack and blas… (#2076)
* mumps: Add support for Intel compiler and insure both lapack and blas libraries are passed to the examples

Likely it was not discoverged before that the examples require both lapack and blas libraries because it
was tested with Openblas which is one large library containing everything.
Funded-by: IDEAS
Project: IDEAS/xSDK
Time: .3 hours

* flake8 fix.
2016-10-22 15:57:44 -07:00
Joseph Ciurej
9f3a46c6c1 Add Package : OpenSceneGraph (#2075)
* Created the initial version of the 'OpenSceneGraph' package.

* Added 'zlib' as a dependency and linked it during the build step.

* Fixed a few minor PEP8 style violations in the 'OpenSceneGraph' package.

* Added cmake as a build dependency and improved the build procedure.

* Made a few important argument updates to improve package compatibility.

* Fixed up a few remaining style issues in the 'openscenegraph' package.

* Added a description for the 'openscenegraph' package.

* Fixed a bug that was causing some 'openscenegraph@3.2.3%gcc' installs to fail.

* Fixed a number of small issues with the 'openscenegraph' package.

* Removed a number of superfluous flags from the 'openscenegraph' install.
2016-10-22 15:14:29 -07:00
Jean-Paul Pelteret
7565f9dcdb Add new package "gource" and dependencies "glew, sdl, sdl-image". (#2084) 2016-10-22 14:28:59 -07:00
alalazo
bdf4832269 spack build, spack configure : added commands 2016-10-22 17:08:52 +02:00
alalazo
484aaf50cc CMakePackage : changed method name from wdir to build_directory 2016-10-22 14:54:26 +02:00
alalazo
8091a3d6cb do_install : use build_system_class attribute instead of type(self).__base__ 2016-10-22 10:48:16 +02:00
alalazo
c84123dce5 spack info : shows the build-system class used 2016-10-22 10:39:33 +02:00
George Hartzell
cfbacdb41e Updated the texlive digest value (#2073)
The texlive tarball, install-tl-unx.tar.gz is unversioned and changes
periodically.  When it does, the digest needs to change too.  This does
that.
2016-10-21 16:57:42 -07:00
Matthew LeGendre
859d296105 Don't clear LD_LIBRARY_PATH and friends from compiler wrappers (#2074)
* Don't clear LD_LIBRARY_PATH and friends from compiler wrappers

* remove debugging print
2016-10-21 16:25:12 -07:00
alalazo
482f60d1d3 packages : moved decorators into AutotoolsPackage and CMakePackage 2016-10-22 01:03:07 +02:00
alalazo
012da99644 spack create : fixed typo 2016-10-22 00:10:37 +02:00
alalazo
e8dafd1090 Removed space before colon in FIXME:, added one line description of guess classes 2016-10-21 23:54:11 +02:00
Joseph Ciurej
6464d6682c Update Package : Qt (Add 'WebKit' Support) (#1455)
* Added the '+webkit' variant to the 'qt' package.

* Made 'qmake' an available executable to 'qt' depdendents.
2016-10-21 14:13:56 -07:00
Matthew LeGendre
79c20a7edd Merge pull request #2071 from mplegendre/bug_concretize_external_virtuals
Bug concretize external virtuals
2016-10-21 13:47:25 -07:00
alalazo
715e029361 spack info : added phases 2016-10-21 22:44:41 +02:00
Matthew LeGendre
5ff08386af Remove unnecessary blackslash for flake8 2016-10-21 13:17:23 -07:00
alalazo
fd2b72fd0f qa : flake8 issues 2016-10-21 22:15:29 +02:00
alalazo
04821c7be8 spack create : now creates packages that are derived from AutotoolsPackage and CMakePackage 2016-10-21 22:12:21 +02:00
Matthew LeGendre
73b46a92bc Fix concretize bug where provider sort couldn't handle version ranges 2016-10-21 11:59:41 -07:00
Matthew LeGendre
9f36ae4e20 Extend concretization test to excercise bug in concretize's provider sorting 2016-10-21 11:57:57 -07:00
Adam J. Stewart
52158d9316 Add new Version property to handle joined version numbers (#2062)
* Add new version property to handle joined version numbers

* Add unit test for new joined property

* Add documentation on version.up_to() and version.joined
2016-10-21 07:49:36 -07:00
Adam J. Stewart
c513fd72fb Add latest version of Armadillo (#2061) 2016-10-21 07:39:48 -07:00
Massimiliano Culpo
aa86432ec6 patch directive : fixed retrieval from urls ( fixes #1584 ) (#2039)
* patch directive : fixed retrieval from urls fixes #1584

 - add support for 'gz' archives
 - fixed bugs with URL patches
 - updated nwchem

* patch directive : added checksum to UrlPatch

 - refactored classes in patch.py
 - updated nwchem

* patch directive : added caching
2016-10-21 07:32:52 -07:00
alalazo
2251428f0a CMakePackage : changed list() to [] 2016-10-21 13:01:55 +02:00
alalazo
5ce3071143 do_install : removed install_self from the list of arguments (leftover after rebasing #1956) 2016-10-21 12:51:38 +02:00
alalazo
213e3f0860 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase
Conflicts:
	lib/spack/spack/cmd/install.py
	lib/spack/spack/cmd/setup.py
2016-10-21 12:38:43 +02:00
Matthew LeGendre
8de143a994 Fixes needed to build gcc on Linux/ppc64le (#2057)
* Fixes needed to build gcc on Linux/ppc64le

* flake8 fix.
2016-10-19 23:29:59 -07:00
Todd Gamblin
4b5281bfe6 Update mail map. So many email aliases. 2016-10-19 22:47:39 -07:00
George Hartzell
027632cbac Fix cdd package definition, dotted is a property (#2054)
Things that accessed the cdd package, such as `spack info cdd run
tripped over a buglet in the *cdd* package, causing them to exit with
something like this:

```
Caused by:
TypeError: 'str' object is not callable
  File "/rss/spack/lib/spack/spack/repository.py", line 584, in get
    self._instances[key] = package_class(copy)
  File "/rss/spack/lib/spack/spack/package.py", line 398, in __init__
    f = fs.for_package_version(self, self.version)
  File "/rss/spack/lib/spack/spack/fetch_strategy.py", line 852, in for_package_version
    attrs['url'] = pkg.url_for_version(version)
  File "/rss/spack/var/spack/repos/builtin/packages/cdd/package.py", line 40, in url_for_version
    str(version.dotted()).replace('.', ''))
```

@tgamblin pointed out that `dotted` is a property, not a functin call
and that the parentheses are therefor inappropriate.

This deletes the parentheses.  `spack info cdd` now works for me.
2016-10-19 12:28:26 -07:00
George Hartzell
dbbef6ba23 Add package for htop (#2051)
Add package for htop, an interactive text-mode process viewer for
Unix systems.  Think top, with pretty colors and dyanmic bar graphs.

More info [here](https://github.com/hishamhm/htop).
2016-10-19 10:33:49 -07:00
scheibelp
8111a4bb9d Don't cache truncated dag hash for spec (#2048)
If Spec.dag_hash was called for the first time with a 'length'
specified, the cached hash was truncated. This ensures that the
full hash is cached.
2016-10-18 22:34:46 -07:00
Massimiliano Culpo
0a3cc5e8e3 Package.do_install : removed install_self from arguments (#1956)
* Removes the extra argument from Package.do_install while maintaining the changes in behavior pulled in #1603

* install : removed -i and -d shorthands (breaks backward compatibility)

* Change ':' to ','
2016-10-18 14:25:07 -07:00
Denis Davydov
0e59ade030 petsc: minor fixes... (#2036)
* petsc: require boost for :3.5 only

* petsc: turn off download for c2html and hwloc
2016-10-18 08:09:18 -07:00
Eric
306eea5e59 Support for bazel (#2023)
* Add package bazel

* Add support for bazel-based builds
2016-10-18 07:46:42 -07:00
Denis Davydov
4c2af4f888 superlu-dist: add 5.1.0 and 5.1.1 (#2038) 2016-10-18 07:45:48 -07:00
Denis Davydov
dd28f5b5eb mumps: add 5.0.2 (#2041) 2016-10-18 07:38:30 -07:00
Denis Davydov
5f20c43315 hypre: add 2.11.1 (#2040) 2016-10-18 07:38:15 -07:00
Jim Galarowicz
87adcfeea8 Update the Krell Institute products to use the latest features of spa… (#1984)
* Update the krell institute products to use the latest features of spack for building on cluster platforms.

* Address travis error messages and resubmit the pull request.

* Update the contents of openspeedshop package.py so it passes the flake8 tests.

* Fix flake8 error-whitespack issue in mrnet package.py file.

* Add updates based on spack reviewer feedback.

* More fixes based on comments from reviewers.  Switch using extend to using append, remove additional setting of PATH and LD_LIBRARY_PATH that should not be required due to RPATH.

* More review related changes.  Update MPIOption.append lines and take out xercesc references.

* Create a base options function for common openspeedshop base cmake options to reduce redundencies.
2016-10-17 01:18:30 -07:00
Pramod Kumbhar
b5e20018b5 fix download url for paraver (#2033)
* fix download url for paraver

* added note to remove older version
2016-10-17 01:17:01 -07:00
Adam J. Stewart
d891143a08 Ignore GPG/PGP signatures/checksums when finding available downloads (#2028)
* Ignore GPG/PGP signatures/checksums when finding available downloads

* Remove duplicated basename
2016-10-16 14:46:29 -07:00
Todd Gamblin
193f68083f Platform-specific config scopes (#2030)
* Add platform-specific configuration scopes.

* Update `spack config` to use the new scope arguments.
2016-10-15 17:00:11 -07:00
Pramod Kumbhar
e93c9060f5 fix sqlite download url (#2031) 2016-10-15 16:31:23 -07:00
Massimiliano Culpo
8d5961ecaf spack purge : updated documentation fixes #1938 (#2025) 2016-10-15 15:51:49 -07:00
Massimiliano Culpo
9726574846 travis : unit tests will run with and without libyaml (#2024)
* travis : unit tests will run with and without libyaml

* travis : fixed package that are installed
2016-10-15 14:21:50 -07:00
Elizabeth Fischer
3dbde09747 Workaround for illegal package merging in py-matplotlib/py-basemap (#1964)
* Workaround for illegal package merging in py-matplotlib/py-basemap

# Conflicts:
#	var/spack/repos/builtin/packages/py-basemap/package.py

* flake8

* flake8

* Be conservative: only apply the namespace package fix for Python >= 3.5.2

* flake8

* Bug fix
2016-10-14 16:09:54 -07:00
Adam J. Stewart
fbe9142b7e Fix list_url for fish shell (#2022) 2016-10-14 12:46:59 -07:00
John Finigan
4be224238e py-macs2: New package (#2011)
* py-macs2: New package

* py-macs2: add py-numpy@1.6: dependency
2016-10-14 12:00:56 -07:00
Kelly Thompson
e359a7ca59 Add missing 'import os'. (#2012) 2016-10-14 12:00:43 -07:00
Denis Davydov
48f23aadbe dealii: remove extra test which are now mostly integrated in make test (#2013) 2016-10-14 09:49:31 -07:00
Adam J. Stewart
78d3c7e2a2 Major updates to Contribution Guide (#1968)
* Major updates to Contribution Guide

* Grammar changes

* Fix missing/extra backticks

* Rewording, links, and tips added
2016-10-14 09:16:13 -07:00
Denis Davydov
0d89e5e32b Package/petsc slepc new versions (#2019)
* petsc: add 3.7.4

* slepc: add 3.7.3
2016-10-14 08:25:22 -07:00
Todd Gamblin
d861a52ebe Use cYAML if it is available in Python. (#2010) 2016-10-12 18:25:18 -07:00
Elizabeth Fischer
b27f4e3aeb py-matplotlib: Add variants for optional dependencies. (#2008) 2016-10-12 14:55:38 -07:00
Elizabeth Fischer
67ef6df4db Made optional CGAL dependencies optional. (#2006)
* Made optional CGAL dependencies optional.

* cgal: Added note explaining that the CORE library is not the same as core CGAL functionality.

* Bug fix and flake8

* flake8
2016-10-12 13:02:06 -07:00
Ben Boeckel
b369be65d7 Mock up Xcode devdir to make Qt5 work on Mac OS X (#1832)
* build_environment: allow compilers to set up an environment

* clang: mock up a toolchain directory for xcode

Some projects ignore CC and CXX flags and instead use xcode to find the
toolchain. Clang on Apple should set up the environment properly.
Arguably, every compiler could do this on Apple, but let's see how this
works out just for AppleClang for now.

The Documentation directory is ~1.7G and the excluded platforms add up
to about 7G. Ignoring swift saves another 500M. The resulting Xcode.app
copy is in the 2G range.

* compiler: set member variables early

This is required so that later methods can query things such as the
version of the compiler.

* compiler: support finding the real path of the compiler

On Apple, the /usr/bin compilers are actually wrapping tools themselves
which query xcrun for the currently selected Xcode installation. Pierce
this veil and get the real, full path the to underlying compilers
instead.

* icu4c: install with rpath

On macOS, icu installs with a library ID of the library name. Enabling
rpath makes its ID its full installed path which lets Qt5 link against
it successfully.

* qt: no -no-gtkstyle flag on Qt5 on macOS
2016-10-12 09:58:12 -07:00
Massimiliano Culpo
1925db5c77 spack list : updated documentation (#2004)
* spack list : updated documentation

* spack list : removed space before ':'
2016-10-12 09:43:28 -07:00
Glenn Johnson
5b070418e7 Documentation for modules configuration options (#1685)
This PR add documentation for the `suffixes` and `hash_length` options
for modules.yaml.

This resolves #1416.
2016-10-11 23:14:42 -07:00
Todd Gamblin
488e1bab2c Make insecure option work with curl AND git. (#1786) 2016-10-11 23:13:40 -07:00
Elizabeth Fischer
a6f85f51d0 patchelf: Add version (#1540)
* patchelf: Add version

* flake8

* Removed unnecessary url_for_version() function.

* Restored old URL
2016-10-11 23:11:25 -07:00
Denis Davydov
025b914079 oce: fix for Sierra (#1934) 2016-10-11 23:10:51 -07:00
Massimiliano Culpo
eb17895630 environment modifications : permit to pass parameters along with file to be sourced (#1626) 2016-10-11 22:55:14 -07:00
gmatteo
949766d92e Abinit: Added package(s) (#1995)
* First version of Abinit package

* Ignore *.swp files

* Add libxc, etsf_io packages

* AtomPaw package

* Make Abinit depend on mpi@2: and external version of libxc, netcdf, hdf5, etsf_io

* etsf_io: install Fortran modules in prefix.include

* Remove etsf_io from abinit requirements

* Add libxc2.2.1 (required by Abinit and atompaw)

* Cleanup

* Run make check

* Cleanup

* Use ld_flags instead of hard-coded libs, fix pep8, add copyright

* Put scalapack before lapackblas
2016-10-11 15:22:46 -07:00
Joseph Ciurej
37d125b890 Update Package : ExodusII (#1504)
* Added support for the 'maxdims' and 'maxvars' flags for 'NetCDF'.

* Added the '+mpi' variant and improved dependencies for 'exodusii'.
Improved the 'exodusii' package so that it's less reliant on patches.

* Added better type checking to variant values in the 'netcdf' package.

* Corrected the required CMake version for the 'exodusii' package.

* Fixed the dependencies of the '+mpi' variant of the 'exodusii' package.
2016-10-11 14:53:02 -07:00
Adam J. Stewart
6dc8bbcb3a Package all of Xorg/X11/XCB (#1740)
* Updates to Mesa and other Xorg packages

* Add packages for all Xorg Protocol extensions

* Add packages for first half of Xorg libraries

* Add packages for remaining Xorg libraries

* Add packages for all Xorg utilities

* Add packages for Xorg documentation tools

* Add build deps to Xorg protocol headers

* Add packages for XCB

* Add build deps to Xorg libraries

* Add build deps to Xorg utilities

* Add packages for Xorg fonts and font-related utilities

* Change font deptype from build to default

I wasn't sure which deptype was appropriate at first since none of
the packages are actually linked together. I initially chose the
build deptype for this reason. However, the font packages don't
install into their own prefix. They install into font-config. If
font-config is a build dependency, that means you can uninstall it
without uninstalling the font packages, which wouldn't make sense
since they install into font-config. So I switched them back to
the default deptype.

* Minor formatting changes to ncview

* Add half-way done xorg-server package

* Add packages for Xorg test suites, not yet tested!

* Add packages for Xorg data

* Add first quarter of Xorg apps

* Add more packages for Xorg apps

* Add dependencies to mesa

* Remove comments from mesa package

* Flake8

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add more packages for Xorg apps

* Add package for Sublime Text

* Add packages for remaining Xorg apps

* Revisit testing packages, add missing dependencies

* Add dependencies, clean up FIXMEs
2016-10-11 09:42:20 -07:00
alalazo
dd56784d28 qa : flake8 issues 2016-10-11 16:44:18 +02:00
alalazo
c7a5dd36e2 qa : flake8 issues 2016-10-11 16:30:06 +02:00
alalazo
ab995df777 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase
Conflicts:
	lib/spack/spack/build_environment.py
	lib/spack/spack/cmd/install.py
	lib/spack/spack/cmd/setup.py
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/gmp/package.py
	var/spack/repos/builtin/packages/hdf5/package.py
2016-10-11 16:28:08 +02:00
Mario Melara
b42dbc01fe Use python platform.system for system ID (#1499)
* Rebase and merging using platform.system

Rebasing and merging using platform.system instead of uname -a.

* Add missing import platform statement

* Remove subprocess import

Remove ununsed import subprocess to make changes flak8 compliant
2016-10-11 07:04:29 -07:00
Denis Davydov
4d939802ae hypre: fix blas/lapack for MKL (#1993) 2016-10-11 06:48:16 -07:00
Todd Gamblin
1dff309a3f Merge pull request #1989 from KineticTheory/cray_compile_wrappers
On Cray machines, use the Cray compile wrappers instead of MPI wrappers.
2016-10-11 06:46:29 -07:00
Todd Gamblin
f9d8325cc2 Merge pull request #1562 from LLNL/features/db-locking
Finer-grained locking
2016-10-11 02:35:46 -07:00
Adam J. Stewart
aa079dbdf1 Add variant to MPICH to enable ROMIO support (#1944) 2016-10-11 02:16:01 -07:00
Denis Davydov
49aed3969c tethex: add a new package (#1991) 2016-10-11 02:13:25 -07:00
Todd Gamblin
9c5c8b22c8 Fix bug in spack debug create-db-tarball
- Fix a bug handling '/' characters in branch names.

- Make tarballs use a descriptive name for the top-level directory, not
  just `opt`.
2016-10-11 01:55:33 -07:00
Todd Gamblin
f0edfa6edf Roll my my own bit_length function for Python 2.6 compatibility. 2016-10-11 01:55:33 -07:00
Todd Gamblin
222f551c37 Use a single lock file for stages and a single file for prefixes.
- Locks now use fcntl range locks on a single file.

How it works for prefixes:

- Each lock is a byte range lock on the nth byte of a file.

- The lock file is ``spack.installed_db.prefix_lock`` -- the DB tells us
  what to call it and it lives alongside the install DB.  n is the
  sys.maxsize-bit prefix of the DAG hash.

For stages, we take the sha1 of the stage name and use that to select a
byte to lock.

With 100 concurrent builds, the likelihood of a false lock collision is
~5.36e-16, so this scheme should retain more than sufficient paralellism
(with no chance of false negatives), and get us reader-writer lock
semantics with a single file, so no need to clean up lots of lock files.
2016-10-11 01:55:33 -07:00
Todd Gamblin
080a78664e Add tests for locks with byte ranges. 2016-10-11 01:55:33 -07:00
Todd Gamblin
3d8d8d3644 Fix bug with lock upgrades.
- Closing and re-opening to upgrade to write will lose all existing read
  locks on this process.
  - If we didn't allow ranges, sleeping until no reads would work.
  - With ranges, we may never be able to take some legal write locks
    without invalidating all reads. e.g., if a write lock has distinct
    range from all reads, it should just work, but we'd have to close the
    file, reopen, and re-take reads.

- It's easier to just check whether the file is writable in the first
  place and open for writing from the start.

- Lock now only opens files read-only if we *can't* write them.
2016-10-11 01:55:33 -07:00
Todd Gamblin
a024c6df95 Add base32_prefix_bits function to get prefix of DAG hash as an int. 2016-10-11 01:55:32 -07:00
Todd Gamblin
da6bbfb2d4 Add byte-range parameters to llnl.util.lock 2016-10-11 01:55:32 -07:00
Todd Gamblin
ea10e3bab0 Remove need to touch lock files before using.
- Locks will now create enclosing directories and touch the lock file
  automatically.
2016-10-11 01:55:32 -07:00
Todd Gamblin
907fe912ef Make llnl.util.lock use file objects instead of low-level OS fds.
- Make sure we write, truncate, flush when setting PID and owning host in
  the file.
2016-10-11 01:55:32 -07:00
alalazo
f229290880 stage : try to remove dead links only of folder that you actually care about
A use case where the previous approach was failing is :

 - more than one spack process running on compute nodes
 - stage directory is a link to fast LOCAL storage

 In this case the processes may try to unlink something that is "dead" for them, but actually used by other processes on storage they cannot see.
2016-10-11 01:55:32 -07:00
alalazo
f47dcdc47a lockfiles : creates directory for locks if not already present 2016-10-11 01:55:32 -07:00
alalazo
a3fc492d45 diy : removed global write lock on the db 2016-10-11 01:55:32 -07:00
alalazo
74fb1029fa uninstall : removed global lock 2016-10-11 01:55:25 -07:00
alalazo
b3a6e307b9 unit tests : fixed failing tests 2016-10-11 01:38:27 -07:00
alalazo
34fe51a4aa install : finer graned locking for install command 2016-10-11 01:38:27 -07:00
Adam J. Stewart
5988b3a222 More specific dependency versions, wrap make check (#1962) 2016-10-11 01:36:40 -07:00
Sergey Kosukhin
7fd639d6fc Update libjpeg-turbo: added new version and removed redundant dependency. (#1897) 2016-10-11 01:32:05 -07:00
James Wynne III
bd61a36587 Fixed set operation from undefined += to a union (#1963)
Fixed flake8 issues
2016-10-11 01:30:11 -07:00
Massimiliano Culpo
b7a612dcdf spack list : merged package-list into list (#1932)
* spack list : merged package-list into the command

* list : removed option for case sensitivity
2016-10-11 01:22:53 -07:00
Denis Davydov
6c250ab486 pango: add missing dependency (#1958) 2016-10-11 01:19:44 -07:00
Denis Davydov
907546b55e libcerf: fix for modern clang (#1959) 2016-10-11 01:19:12 -07:00
scheibelp
9e7f53a35a [WIP] Use boost system layout by default (#1955)
Use boost system layout by default
2016-10-11 01:17:26 -07:00
Erik Schnetter
f555b8110d Charm++: Ignore compiler warnings while configuring (#1981) 2016-10-11 00:45:01 -07:00
Kelly Thompson
ff1108712c Make CMake-based builds more verbose by default. (#1988) 2016-10-11 00:43:36 -07:00
Kelly Thompson
1891ce3545 Trilinos: Use more flexible option for locating the BLAS library directory. (#1987)
+ This change fixes a problem that manifests when trilinos is built against a
  MKL installation defined as an external package. In this scenario, the MKL
  libraries are found one directory deeper than for the case where spack
  provides MKL. The extra directory is a platform name like 'intel64'.
+ The changes in this PR were recommended by contributor @davydden. I
  implemented and tested with intel@16.0.3. These changes fix the issue I
  reported. I did not attempt building trilinos against other BLAS
  implementations.
+ fixes #1923
2016-10-11 00:42:59 -07:00
Massimiliano Culpo
b1a2728af6 uninstall : permits to uninstall all installed software fixes #1477 (#1973) 2016-10-11 00:42:31 -07:00
Massimiliano Culpo
c8bf8a5e6e md5 : normalizes input before computing the md5 fixes #1508 (#1977)
Bottomline :

- fetcher change the current working directory
- relative paths were resolved differently depending on the prder f evaluation
2016-10-11 00:37:29 -07:00
Pramod Kumbhar
afd5d6b5cd hpx5 version update (#1967) 2016-10-11 00:36:31 -07:00
Geoffrey Oxberry
9a05ffea27 Mfem 3.2 (#1202)
* mfem: add tarball extension

Add tarball extension as a result of a feature added in PR#1926, which
fixes earlier issues in this PR (PR#1202). Prior to adding this feature,
Spack would not autodetect the extension of the tarball downloaded from
the redirected, shorted Google URL, requiring a messy hack. This hack
worked for mfem version 3.1, but led to errors when adding mfem version
3.2 because the files downloaded from Google did not contain the package
name, version number, or extension. Adding the extension enables Spack
to rename the tarball downloaded from Google to a sensible name that is
compatible with its filename parsing algorithms so that Spack "does the
right thing" (detects that the file is a GZipped tarball, decompresses
it, runs GNU Make) in fetching and staging the package.

* mfem: add linkage to KLU & BTF

Add linkage to the KLU & BTF solvers, which are now enabled in MFEM for
versions 3.2 and later.

* mfem: Add superlu-dist variant

Add linkage to SuperLU_DIST, which is a new linear solver interface for
MFEM versions 3.2 and later.

* mfem: add netcdf variant for cubit mesh support

Add NetCDF variant for MFEM versions 3.2 and later; installing the
NetCDF interfaces enables CUBIT mesh support.
2016-10-11 00:33:26 -07:00
Kelly (KT) Thompson
3553c8b9e9 On Cray machines, use the Cray compile wrappers instead of MPI wrappers.
+ Cray compile wrappers are MPI wrappers.
+ Packages that need to be compiled with MPI compile wrappers normally use
  'mpicc', 'mpic++' and 'mpif90' provided by the MPI vendor. However, when using
  cray-mpich as the MPI vendor, the compile wrappers 'CC', 'cc' and 'ftn' must
  be used.
+ In this scenario, the mpich package is hijacked by specifying cray-mpich as an
  external package under the 'mpich:' section of packages.yaml. For example:

  packages:
    mpich:
      modules:
        mpich@7.4.2%intel@16.0.3 arch=cray-CNL-haswell: cray-mpich/7.4.2
      buildable: False
    all:
      providers:
        mpi: [mpich]

+ This change allows packages like parmetis to be built using the Cray compile
  wrappers. For example: 'spack install parmetis%intel@16.0.3 ^mpich@7.4.2 os=CNL'
+ This commit relies on the existence of the environment variable CRAYPE_VERSION
  to determine if the current machine is running a Cray environment. This check is
  insufficient, but I'm not sure how to improve this logic.
+ Fixes #1827
2016-10-10 19:10:26 -06:00
Kelly Thompson
29fc9cd22c Update package to use MPI compile wrappers as specified in MPI package. (#1985)
+ Previouly, these strings were hard coded to 'mpicc', 'mpic++', and 'mpifort'.
2016-10-10 15:33:00 -07:00
Denis Davydov
c2ca8693e9 fix blas-lapack in scipy and numpy (#1949)
* fix blas-lapack in scipy and numpy

* py-numpy: do not set rpath on macOS

* py-scipy: do not set Blas/Lapack. This appears to be picked up from py-numpy

* py-numpy: don't write rpath= in Sierra only

* py-numpy: add a link to build notes
2016-10-10 12:38:44 -07:00
Erik Schnetter
377ac68690 Correct Charm++ install procedure (#1957)
Charm++ only creates symbolic links instead of copying files. Correct this.
2016-10-10 09:13:20 -07:00
Jean-Paul Pelteret
876c26f658 Add documentation for standard python repositories. (#1970)
Fixes #1939
2016-10-07 22:46:22 -07:00
Jean-Paul Pelteret
d3daa829f0 Added symengine and associated packages (#1885)
Symengine and associated packages
2016-10-07 22:45:24 -07:00
Isuru Fernando
ccf530ba5e Check for -r in ccld mode too (#1972) 2016-10-07 22:44:37 -07:00
Massimiliano Culpo
efae58a4ef fixes #858 (#1961)
Fix spack uninstall -f
2016-10-07 11:30:10 -07:00
Todd Gamblin
dbc864c9db Restore default RPATH settings but allow packages to limit to immediate deps. (#1954)
- Some packages (netcdf) NEED RPATHs for transitive deps.
- Others (dealii) will exceed OS limits when the DAG is too large.
2016-10-06 15:57:23 -07:00
Denis Davydov
9683e0df07 atlas: add 3.10.3 (#1952) 2016-10-06 15:23:18 -07:00
Joseph Ciurej
82fcc5e1de Feature Proposal : Make All Python Extensions User Configuration Independent (#1435)
* Updated all Python extension packages to use 'setup_py' on install.

* Fixed a few minor style issues with the updated Python packages.
2016-10-06 14:43:49 -07:00
Adam J. Stewart
415ddeecf8 Fix bugs preventing readthedocs from rebuilding the documentation (#1945) 2016-10-06 12:50:49 -07:00
Sergey Kosukhin
ebef9628a3 Update gmp: fixed an issue with intel compiler. (#1898) 2016-10-06 12:49:03 -07:00
Jay
6e9353f1a8 Updated nettle to have m4 as an immediate dependency (#1946)
* Updated nettle to have m4 as an immediate dependency to match new PATH
construction logic which only includes immediate dependencies.

* Update package.py
2016-10-06 11:50:50 -07:00
Elizabeth Fischer
98f8f40896 [Bug Fix (and docs too)] : Do not select @develop version by default (#1933)
* This fixes a bug in concretization.  Before the recent change to the
algorithm, the intent was that the @develop version, although
"greater" than numberic versions, is never preferred BY DEFAULT over
numeric versions.

To test this... suppose you have a package with no `preferred=True` in
it, and nothing in `packages.yaml`, but with a `develop` version.  For
the sake of this example, I've hacked my `python/package.py` to work
this way.

Without bugfix (WRONG: user should never get develop by default):

```
  python@develop%clang@7.3.0-apple~tk~ucs4 arch=darwin-elcapitan-x86_64
      ...
```

With bugfix (RIGHT: largest numeric version selected):

```
  python@3.5.2%clang@7.3.0-apple~tk~ucs4 arch=darwin-elcapitan-x86_64
      ...
```

* Documented version selection in concretization algo.

* Fix typos

* flake8
2016-10-06 09:08:15 -07:00
Denis Davydov
2ccb3d5531 add contribution guide focused on Git and PRs (#1664) 2016-10-06 07:45:47 -07:00
Adam J. Stewart
83a074eea6 Fix various documentation bugs (#1678)
* Fix various documentation bugs

* Keep long option names, but don't include in Command Index

* Use long option name

* Explicitly designate sections to be listed in the Command Index

* Consistent menu bar titles
2016-10-06 02:49:44 -07:00
James Wynne III
7dc11472bf Sqlite ppc64le configure build guess fix (#1684)
* Added check for ppc64le because configure cant guess the build type for rhel on ppc64le

Expand/clarify description of dependency types

Refactored getting the arch so that its less verbose

* Fixed flake8 issues
2016-10-06 02:48:05 -07:00
Sergey Kosukhin
92ca6d6423 Update pixman: mmx is disabled only for MacOS. (#1896) 2016-10-06 02:43:34 -07:00
Sergey Kosukhin
4cce23ea89 Update libtiff: updated homepage and fetch urls. (#1895)
* Update libtiff: updated homepage and fetch urls.

* Update libtiff: new version 4.0.6.
2016-10-06 02:43:23 -07:00
Matt Belhorn
6b98e86056 Fixes bug closing Executable file io-streams (#1890)
Input/output/error streams not directed to None or 'str' were not being closed
because `close()` method was being called on the argument value (a string type)
instead of the open file descriptor object.
2016-10-06 02:41:28 -07:00
Elizabeth Fischer
3de3664671 Fix fetch() method. Was being called with "wrong" arguments, raising exception. (#1916)
DIYFetchBugfix
2016-10-06 02:40:24 -07:00
Elizabeth Fischer
264604df3e cgal: build out of source. (#1918)
* cgal: build out of source.

* Simplify cmake out-of-source.
2016-10-06 02:36:27 -07:00
Elizabeth Fischer
208537f6f2 Fix Issues with non-numeric versions, as well as preferred=True (#1561)
* Fix bug in handling of precedence of preferred=True vs. versions given in packages.yaml (#1556)

* Standardized comparison of versions: numeric versions are always greater than non-numeric versions; and non-numeric versions are sorted alphabetically.

This is
   a) simple
   b) ensures that non-numeric versions (such as 'develop') in package.py are not chosen ahead of numeric versions, when nothing is specified in packages.yaml

Fixes Issue #1557

* Removed debugging output

* Fix variable shadowing bug

* Ensure develop < numeric version.

* Bug fix.

* Passes all unit tests in versions.py

* flake8 fixes

* flake8 fixes

* Changed type test to be more correct.

See http://stackoverflow.com/questions/8203336/difference-between-int-and-numbers-integral-in-python
2016-10-06 02:35:34 -07:00
Jeffrey Salmond
a648dc6b33 add python options to vtk package (#1931) 2016-10-06 02:29:25 -07:00
Elizabeth Fischer
2966f174ae mumps: Add alternate download location (in comments) (#1919) 2016-10-05 23:15:38 -07:00
scheibelp
508d79c475 Handle packages with unparseable extensions (#1758)
This closes #1757 which provides an example of a url scheme where the
version appears after the extension. Instead of extending the parsing
logic to handle this case, this commit allows the user to specify
their extension type. This helps Spack choose the appropriate
decompressor and mirror archive filename.
2016-10-05 22:45:02 -07:00
Geoffrey Oxberry
6f0b32a71f docs/getting_started: s/Macintosn/Macintosh/; (#1928) 2016-10-05 21:15:54 -07:00
Elizabeth Fischer
015e29efe1 Documentation Improvements for SC16 (#1676)
* Transferred pending changes from efischer/develop

* 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.

* Edits...

* Moved sections in preparation for additional text to be added from old efischer/docs branch.

* Moved 2 more sections.

* Avoid accid

* Applied proofreading edits from @adamjstewart

* Fixed non-standard section characters.

* Moved section on profiling to the developer's guide.

* Still working on Spack workflows...

* Finished draft of packaging_guide.rst

* Renamed sample projects.

* Updates to docstrings

* Added documentation to resolve #638 (content taken from #846)

* Added section on resolving inconsistent run dependencies.  Addresses #645

* Showed how to build Python extensions only compatible with certain versions of Python.

* Added examples of getting the right behavior from depends_on().  See #1035

* Added section on Intel compilers and their GCC masquerading feature.  Addresses #638, #1687.

* Fixed formatting

* Added fixes to filesystem views.  Added a caveats section to ``spack setup``.

* Updated section on Intel compiler configuration because compiler flags currently do not work (see #1687)

* Defined trusted downloads, and updated text based on them. (See #1696)

* Added workflow to deal with buggy upstream software.  See #1683

* Added proper separation between Spack Docs vs. Reference Manual

* Renamed spack_workflows to workflows.  Resolves a conflict with the .gitignore file.

* Removed repeated section.

* Created new "Vendor Specific Compiler Configuration" section and organized existing Intel section into it.  Added new PGI and NAG sections; but they need to be expanded  / rewritten based on the existing text plus research through Spack issues on GitHub.

* Fixed text on `spack load --dependencies` to conform to reality.  See #1662

* Added patching as option for upstream bugfixes.

* Added section on using licensed compilers.

* Added section on non-downloadable tarballs.

* Wrote sections on NAG and PGI.  Arranged compilers in alphabetical order.

* Fix indent.

* Fixed typos.

* Clarified dependency types.

* Applied edits from Adam J. Stewart.  Spellchecked workflows and getting_started.

* Removed spurious header

* Fixed Sphinx errors

* Fixed erroneous symbol in docstring.

* Fix many typos and formatting problems.

* Spacing changes

* Added section on fixing Git problems.  See #1779

* Fixed signature of install() method.

* Addressed system packages in greater detail.  See #1794 #1795

* Fixed typos

* Fixed quotes

* Duplicate section on Spack profiling removed from configuration.rst.  It had earlier been moved to developer_guide.rst, where it fits better.

* Minor edits

- Tweak supported platform language.
- Various small changes to the new getting started guide.

* Fixed bug with quotes.
2016-10-05 13:00:27 -07:00
Elizabeth Fischer
abc9412f23 New command flag: spack install --dependencies-only (#1603)
* 1. Renamed ignore_deps variable to install_deps (use positive logic).  UI remains the same.

2. install_self kwarg added to do_install().  Enables installation of a package's dependencies without installing the package itself.

3. Added `spack install --dependencies-only <package>` command.

* Flak8 fixes

* Indentation problem
2016-10-05 11:23:06 -07:00
Adam J. Stewart
6ee020cea4 Add package for CONVERGE CFD (#1905) 2016-10-05 10:37:50 -07:00
Adam J. Stewart
95b07c365c Add latest versions, resolve variant resolution bug (#1909) 2016-10-05 10:37:35 -07:00
Elizabeth Fischer
8e75575b88 Added missing function for CMake builds. (#1250)
* Added missing function for CMake builds.

* Update build_environment.py

* std_cmake_args

Changed std_cmake_args to use get_std_cmake_args().

* Update build_environment.py

Delete additional lines subsumed by get_std_cmake_args()

* flake8.
2016-10-05 10:37:20 -07:00
Elizabeth Fischer
42c69b3809 everytrace: New package (#1543)
* everytrace: New package

Everytrace ensures that stack trace is obtained every time a program exits, for whatever reason.

* everytrace: Change CMake to build dependency

* Renamed to everytrace-example, flake8 and copyright issues.

* flake8

* Missing type=build
2016-10-05 10:03:05 -07:00
Adam J. Stewart
d5e5e4ed1a Add missing dependencies for Flake8 (#1883)
* Warn user if flake8 can't find setuptools

* Add missing dependencies of flake8

* Updates to py-autopep8, make packages activateable

* Check for presence of setuptools for Sphinx too

* Fix bug in order of commands
2016-10-05 10:00:31 -07:00
Elizabeth Fischer
42a60b2434 Added copyright and build deps specification; should be ready to merge. 2016-10-05 12:14:08 -04:00
Axel Huebl
ac3e21f8d4 PNGwriter, libSplash: Add master version (#1744)
* PNGwriter, libSplash: Add `master` version

* PNGwriter, libSplash: Add `dev` versions

Can be used for now, `develop` is currently discouraged.
2016-10-05 06:46:20 -07:00
Denis Davydov
4e5d340665 boost: set 1.61 as preffered until 1.62 is fixed (#1908) 2016-10-05 05:16:06 -07:00
alalazo
7a26c60dbd Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase
Conflicts:
	lib/spack/spack/cmd/setup.py
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/gmp/package.py
2016-10-05 09:33:59 +02:00
Todd Gamblin
bff1656a1a Read-only locks should close fd before opening for write. (#1906)
- Fixes bad file descriptor error in lock acquire, #1904
- Fix bug introduced in previous PR #1857
- Backported fix from soon-to-be merged fine-grained DB locking branch.
2016-10-04 15:36:37 -07:00
Pramod Kumbhar
9daafc32f1 Packages for Darshan I/O performance characterization tool from ANL (#1900) 2016-10-04 14:40:35 -07:00
Todd Gamblin
544fa3eddb Fix some documentation build warnings. (#1902)
- Fix issue with package_list.py regeneration confusing Sphinx.
- Add -E option to avoid caching and make Sphinx happy.
2016-10-04 12:37:57 -07:00
Adam J. Stewart
7806fded3e Update documentation URL after switch to readthedocs (#1901) 2016-10-04 11:47:25 -07:00
Todd Gamblin
e9d4780bbc Rework build environment and cc to use smaller RPATHs. (#1894)
- Fixed up dependency management so that:
  - build deps go in PATH and -I
  - link deps go in -L args
  - only *immediate* link deps are RPATH'd

The latter reduces the number of libraries that need to be added to
DT_NEEDED / LC_RPATH.  This removes redundant RPATHs to transitive
dependencies.
2016-10-04 09:40:28 -07:00
Sergey Kosukhin
1d981ebd50 A set of tools used in climate modeling and numerical weather prediction. (#1317)
* Update grib-api: switched to cmake building system.

* Update harfbuzz: added pkg-config dependency.

* Update pango: added pkg-config dependency.

* Add libemos package.

* Add Magics (from ECMWF) package.

* Revert "Variant for building cdo without mpi (#1638)":
CDO does not use MPI.

This reverts commit 079d063c6d.

* Update CDO package: full featured implementation.

* Update magics: added python as build dependency.

* Update cdo: added disabling configuration options.
2016-10-04 09:29:22 -07:00
Todd Gamblin
36c79e9df6 Fixes #1893: missing import 2016-10-04 01:49:07 -07:00
Ivo Jimenez
d36028cff4 Adds mpip package (#1886) 2016-10-04 01:30:52 -07:00
Ivo Jimenez
2c701d372e Adds lulesh package (#1887) 2016-10-04 01:28:23 -07:00
Pramod Kumbhar
e546d6246f Spack package for HPCToolkit (#1892)
* Spack package for HPCToolkit (performance analysis tool)

* Correction for PR comments, make flake8 happy

* update note / comments
2016-10-04 01:02:50 -07:00
Massimiliano Culpo
50fcade81b cp2k : added support for libint, fixed compilation issues on elpa (#1889) 2016-10-03 08:25:36 -07:00
Geoffrey Oxberry
df79ba0dcf gcc: fix darwin dispatch/object.h header issue (#1518)
Fixes #1203. Apple ships headers in Yosemite (and possibly earlier) that
are gcc-incompatible, but compile fine with clang. The fix is to copy
the offending system header from /usr/include/${REST_OF_HEADER_PATH} to
${GCC_PREFIX}/include/${REST_OF_HEADER_PATH} and replace the non-gcc-
compatible features with gcc-compatible equivalents.

See https://github.com/hashdist/hashstack/pull/771/files for
inspiration, and
http://hamelot.io/programming/osx-gcc-dispatch_block_t-has-not-been-declared-invalid-typedef/
for a description of the header issue.
2016-10-02 18:54:43 -07:00
Nicolas Richart
16f99bd0b2 Adding latest version of fenics (#1528)
* Adding last version of fenics and making trilinos not ambiguous on hdf5

* forcing fenics to ignore hdf5 cxx

* Adding deptypes and correcting the hdf5 patch

* flake8 corrections

* cleaning some useless code
2016-10-02 18:51:34 -07:00
Adam J. Stewart
2ce1b388c9 Run make clean to prevent warning messages (#1742)
* Run make clean to prevent warning messages

* Don't delete temporary files after completion
2016-10-02 18:51:09 -07:00
Kelly Thompson
621a4d637d Provide newer versions of llvm (3.8.1, 3.9.0) (#1765)
* Provide new versions of llvm.

+ Provide file list and md5 hashes for 3.8.1 and 3.9.0.
+ Clean up indentation for the 'releases' data structure to improve
  consistency.

* Adding a block of code to the 'resources' structure for cfe.

* Merge cfe and clang resources into single entity.
2016-10-02 18:50:42 -07:00
Alfredo Adolfo Gimenez
1ea9582218 Added hadoop, spark, and variant spark+hadoop (#1833)
* Added hadoop, spark, and variant spark+hadoop

* Docstrings, dependency types, urls, copyright

* Flake8 fixes, link dependency for hadoop

* Build type for spark, env problem setting JAVA_HOME
2016-10-02 18:49:30 -07:00
Erik Schnetter
b22956bab2 git: Don't link against -lrt on Darwin (#1877)
There is no librt on Darwin, and it's not necessary either.
2016-10-02 18:37:45 -07:00
Erik Schnetter
28b48f3e1a Update PAPI to 5.5.0 (#1878) 2016-10-02 18:37:26 -07:00
Erik Schnetter
b2ff9dbcd4 Update tmux to 2.3.0 (#1879) 2016-10-02 18:37:17 -07:00
Kelly Thompson
051c5dbc27 New package: libquo (#1880)
* New package: libquo

libquo is a high-level, easy to use programming interface tailored specifically
for MPI/MPI+X codes that may benefit from evolving process binding policies
during their execution. QUO allows for arbitrary process binding policies to
be enacted and reverted during the execution of an MPI/MPI+X application as
different computational phases are entered and exited, respectively.

https://github.com/losalamos/libquo

* Remove use of 'which' and fix style non-conformance.
2016-10-02 18:36:48 -07:00
Bruno Turcksin
e854e053e4 Add boost 1.62.0 (#1882) 2016-10-02 18:36:31 -07:00
Jean-Paul Pelteret
c86d4c8920 Added bash-completion package (#951) 2016-10-02 17:50:39 -07:00
Pramod Kumbhar
4b34ba1035 pdt url change to download full installer tarball (#1881) 2016-09-30 14:31:28 -07:00
Michael Kuhn
8d1ec0df3d Fix read locks on read-only file systems (#1857) 2016-09-30 09:45:08 -07:00
Pramod Kumbhar
6c627dbac9 Add cube variant for building GUI component with qt, parallel built supported (#1525) 2016-09-29 15:37:35 -04:00
Pramod Kumbhar
6ec46ca802 updated to latest available package and fixed installation issue (old packages are no longer available for download) (#1523) 2016-09-29 15:37:07 -04:00
Mitchell Devlin
86cad961e5 added libxstream (#1454) 2016-09-29 15:36:37 -04:00
Adam J. Stewart
deb1cb4805 Add libint package (#1264)
* Add libint package

* Add Intel optimization flags recommended by CP2K

* Add new version and Intel compiler optimization flags for libxc

* Add older version of libint

* Libint depends on GMP C++ library
2016-09-29 15:35:10 -04:00
Robert D. French
a77b48f491 Library for manipulating grib1 and grib2 files (#1736)
Pro tips from @adamjstewart:
* line too long in package description
* name it grib-api instead of grib_api
* depend on netcdf without reference to unnecessary constraints
2016-09-28 17:02:29 -04:00
Elizabeth Fischer
3352889d73 py-pil: Protect against building with Python3. (#1868)
* py-pil: Does not build with Python3.

* Set py-pillow to be the default pil provider

* Update package.py

* Change to comments requested by adamjstewart

* Remove version constraint from extends(), avoid a Spack bug.
2016-09-28 16:51:41 -04:00
Erik Schnetter
4040792501 Update Qthreads to 1.11 (#1863) 2016-09-28 15:22:02 -04:00
Todd Gamblin
295742e2b5 Fixes #1860. Subversion builds sequentially due to race. 2016-09-28 15:18:52 -04:00
Robert D. French
fea0a74bec vim8 is out! (#1753)
* depends on ncurses for 8.0 or higher
2016-09-28 15:17:15 -04:00
Todd Gamblin
cb229f0842 Fixes #1720: spack reindex fails with invalid ref count. (#1867)
* Fixes #1720: spack reindex fails with invalid ref count.

- Database graph wasn't being built properly; dependencies were set up
  incorrectly in the nodes that ended up in the graph on reindex.

- Reworked _add to increment ref count properly and to always build
  bottom-up to make the logic simpler to understand.

* Add checks to ensure DB is a valid merkle tree.
2016-09-28 15:00:26 -04:00
Adam J. Stewart
66c2ac0bc9 Tell Mercurial where to find CA certs (#1873) 2016-09-28 14:58:51 -04:00
Elizabeth Fischer
9aa77178f3 Prohibit Python3 in Python version check. (#1872) 2016-09-28 12:36:25 -04:00
Adam J. Stewart
6df84a794b Add single letter arg flags for spack graph (#1871) 2016-09-28 12:09:31 -04:00
Todd Gamblin
78f4081bc9 Merge pull request #1862 from LLNL/features/graph-improvements
spack graph improvements
2016-09-28 00:10:14 -04:00
Todd Gamblin
05d52752ff Make graph_ascii support deptypes.
- fix deptype support
- by default, graph command omits build depedencies
- update docs to use deptype args
2016-09-27 23:49:41 -04:00
Todd Gamblin
f082d26ddd Fixes #1098: spack graph crashes for large graphs.
- Fixed logic for collapsing backward edges

- Last collapse now depends on whether prior step in left collapse
  sequence alrady did the collapse.
2016-09-27 23:28:51 -04:00
Todd Gamblin
0d3d74e5c2 Improvements to the Spack graph command.
- Distinguish between static (package) and dynamic (spec) graphs.

  - static graphs ignore conditions and multiple instances (hashes) and
    plot raw dependencies among packages.

  - dynamic graphs include information from particular specs (instances of
    packages) and can have multiple instances with hashes.

- Allow graphing all packages in the install DB.

  - useful for debugging.
2016-09-27 11:00:50 -04:00
Todd Gamblin
43ca805248 Factor out canonical_deptype function, cleanup spec.py 2016-09-27 11:00:50 -04:00
Todd Gamblin
cd960caf8d Clean up Exceptions in spec.py 2016-09-27 11:00:45 -04:00
Adam J. Stewart
9b575dd976 Various updates to scipy and numpy (#1856) 2016-09-27 10:56:24 -04:00
Michael Kuhn
00b3aa77ae Update cdo to 1.7.2 (#1858) 2016-09-27 10:56:04 -04:00
Erik Schnetter
88af9f783d Make PETSc build on Darwin (#1835)
Don't set cpp when building on Darwin.
2016-09-26 10:38:02 -07:00
Erik Schnetter
3282eaea8d Update OpenSSL (#1853) 2016-09-26 10:37:40 -07:00
Denis Davydov
1e10309ff7 some fixes to blas/lapack usage in packages (#1852)
* atlas: fix unit test

* openblas: remove symlinks; use lapack_libs.ld_flags in the test

* mkl: fix openmp variant of blas/lapack libs

* intel-parallel-studio: fix openmp variant of blas/lapack libs

* netlib-scalapack: fix blas/lapack for multilib case (e.g. mkl)

* arpack-ng: fix blas/lapack for multilib case (e.g. mkl)

* petsc: explicitly specify blas/lapack

* minor

* cantera: fix blas/lapack usage

* ipopt: fix blas/lapack usage

* netlib-lapack: fix external blas usage

* mfem: fix lapack/blas usage

* superlu-mt: fix blas usage

* flake8 fixes
2016-09-26 10:37:23 -07:00
Todd Gamblin
cb36aadaf6 Fix doc bugs, widen columns in the package list 2016-09-23 18:07:33 -07:00
Patrick Gartung
ec91152a36 a few package used in HEP including ROOT6 2016-09-23 18:07:22 -07:00
Adam J. Stewart
64194a823a Remove duplicate ICU package (#1837)
* Remove duplicate ICU package

* Ignore deleted files during flake8 tests

* Rename Boost ICU variant
2016-09-23 14:16:59 -07:00
Denis Davydov
6ef6428331 m4: fix compilation on Sierra with GCC (#1844)
* m4: fix compilation on Sierra with GCC

* m4: check macOS version
2016-09-23 13:38:29 -07:00
Bruno Turcksin
98d54182d3 Add Trilinos 12.8.1 (#1843) 2016-09-23 13:36:21 -07:00
Erik Schnetter
73ec2a27d0 Don't require git for Julia @0.5: (#1834) 2016-09-23 13:35:12 -07:00
Erik Schnetter
8147a09489 Update jemalloc to 4.2.1 (#1839) 2016-09-23 13:32:57 -07:00
Robert D. French
3d282b9239 Add libmesh, needed for some FEM applications (#1846) 2016-09-23 13:26:27 -07:00
Denis Davydov
df5e151049 hypre: fix a bug with blas/lapack names (#1841) 2016-09-23 10:06:18 -07:00
Erik Schnetter
c0ebbc97c9 Update OpenSSL (#1836)
This is a security update with priority "HIGH".
2016-09-23 08:21:15 -07:00
Denis Davydov
462a4a1353 boost: fix a bug which broke it on macOS with clang+gfortran (#1816)
* dealii: add missing python dependency

* boost: fix a bug which  broke it on macOS with clang+gfortran

Boost was using gcc compiler instead of clang++, which lead to
cryptic Undefined symbols linking errors for boost::python::objects::function_object()
when building other packages against boost+python.

* boost: add exceptions for intel

* boost: use spack_cxx
2016-09-22 13:47:22 -07:00
Adam J. Stewart
a638b62ab1 Updates to CGAL and ICU4C packages (#1828) 2016-09-22 11:50:50 -07:00
Ben Boeckel
c7860322f5 package: fix variable name usage (#1829) 2016-09-22 11:47:25 -07:00
Adam J. Stewart
f1f301ad3b Fix spack checksum output indentation (#1826) 2016-09-22 11:33:29 -07:00
Elizabeth Fischer
64c3b11478 suitesparse: Added +fpic (for linking with shared libraries) (#1542) 2016-09-22 11:03:49 -07:00
Erik Schnetter
7ad6c35627 New package "charm" for the Charm++ parallel programming framework (#1766) 2016-09-22 00:48:00 -07:00
Eric
025b779a30 Fix sbang for perl (#1802)
* Perform shebang fix for all files

* Fix sbang for perl scripts

Otherwise perl would look at the #! line and call sbang again, resulting
in an infinite loop.
2016-09-22 00:43:47 -07:00
Elizabeth Fischer
98f9dd266f Remove SPACK_DIRTY env var (#1818)
* Removed SPACK_DIRTY env var support.

* Finished removing SPACK_DIRTY support.

* Minor changes.
2016-09-22 00:43:33 -07:00
Massimiliano Culpo
1db2552644 fix : stops infinite recursion for python 2.6 (#1823) 2016-09-22 00:31:28 -07:00
Massimiliano Culpo
d848559f70 Reworking of lapack_shared_libs and similar properties (#1682)
* Turned <provider>_libs into an iterable

Modifications :
- added class LibraryList + unit tests
- added convenience functions `find_libraries` and `dedupe`
- modifed non Intel blas/lapack providers
- modified packages using blas_shared_libs and similar functions

* atlas : added pthread variant

* intel packages : added lapack_libs and blas_libs

* find_library_path : removed unused function

* PR review : fixed last issues

* LibraryList : added test on __add__ return type

* LibraryList : added __radd__ fixed unit tests

fix : failing unit tests due to missing `self`

* cp2k and dependecies : fixed blas-lapack related statements in package.py
2016-09-21 12:27:59 -07:00
Todd Gamblin
6b6f868f2a Flake8 fixes. 2016-09-21 04:35:15 -07:00
Todd Gamblin
786ab114b7 Merge branch 'qt-osx' of git://github.com/mathstuf/spack into mathstuf-qt-osx 2016-09-21 04:32:03 -07:00
George Hartzell
51d869493a Add package for bedtools2 (#1572)
Add package for bedtools2, with support for v2.25.0 and v2.26.0.
2016-09-21 04:23:03 -07:00
George Hartzell
db0baaafe3 Add package for bamtools (#1571)
bamtools provides a C++ API & command-line toolkit for working with BAM
data.
2016-09-21 04:22:55 -07:00
Mayeul d'Avezac
3d1c92e22c Update espresso recipe to track change in spack internals (#1734) 2016-09-21 04:18:35 -07:00
Adam J. Stewart
cf925ddc97 Add missing build dependencies to hdf package (#1812) 2016-09-21 04:16:57 -07:00
Kelly Thompson
3d3614e522 Update to allow netlib-scalapack to build against netlib-lapack. (#1539) 2016-09-21 04:10:30 -07:00
Glenn Johnson
c1284a9046 Stop python from linking with system ncurses (#1672)
Python will look to link with libncursesw in preference to libncurses. Since
ncurses in spack is built without suffixes there is no libncursesw and
python will link to the system libncursesw for _curses.so and
_curses_panel.so, as well as libpanelw for _curses_panel.so.

This PR introduces a patch that simple removes the check for ncursesw in
setup.py and therefore sets `curses_library` to `ncurses`.
2016-09-21 04:02:28 -07:00
Glenn Johnson
851b58248d Build pkg-config files for ncurses (#1673) 2016-09-21 04:02:07 -07:00
Elizabeth Fischer
899f3a7e37 Fixed bug propagating --dirty flag to sub-installs. (#1625)
* Fixed bug propagating --dirty flag to sub-installs.

* Fix syntax error

* Allow --dirty flag to be set with SPACK_DIRTY env var.

* Added dirty flag to `spack diy` and `spack setup`, as is currently in `spack install`

* flake8
2016-09-21 03:56:56 -07:00
Glenn Johnson
73012ec4c8 Rework libgd package (#1679)
* Added missing libtiff dependency
* added dependency on fontconfig
* Added version 2.2.3
* use autotools rather than cmake

The cmake build was not producing a complete install.
* There was no versioning of the installed libraries.
* gdlib-config was missing
* pkgconfig directory was missing

These problems do not happen when built with autotools.
2016-09-21 01:56:20 -07:00
Matt Belhorn
94b24e8893 Adds all available CrayPE CPU targets to platform by default. (#1745) 2016-09-21 01:48:33 -07:00
Todd Gamblin
ae6252ca5f Merge branch 'efischer/160914-FixBinutils226Question' of git://github.com/citibeth/spack into bugfix/efischer-160914-FixBinutils226Question 2016-09-21 01:45:38 -07:00
Axel Huebl
d3e04b3daf Close #1683 Apply ADIOS 1.10.0 Patch (HDF5 1.10+) (#1699)
* Close #1683 Apply ADIOS 1.10.0 Patch

Also correct version dependencies and comments.

* Clean Up ADIOS

- add develop
- simplify HDF5 options (parallel only)
- remove optional netCDF (not fully v4)
2016-09-21 00:55:54 -07:00
Massimiliano Culpo
3254d2f8f9 cp2k : added dependencies (#1724)
* wannier90 : added package (#24)

* wannier90 : added package

* cp2k : added dependency on wannier90

* elpa : updated package, added cp2k dependency (#26)

Conflicts:
	var/spack/repos/builtin/packages/elpa/package.py
2016-09-21 00:53:06 -07:00
Alfredo Adolfo Gimenez
02307cf7ce Set JAVA_HOME on module load and on dependent installs. (#1716)
* Set JAVA_HOME on module load and on dependent installs.

* Include environment setup from dependencies in dependee module (#1714)
2016-09-21 00:52:09 -07:00
Massimiliano Culpo
1cc48bf7d7 grackle : added package (#1725)
Modifications :

* grackle : added package
* grackle : added version 2.2
2016-09-21 00:51:49 -07:00
Erik Schnetter
3c7ea3000a Wrap yt package (#1751)
yt is a python package for analyzing and visualizing volumetric, multi-resolution data from astrophysical simulations, radio telescopes, and a burgeoning interdisciplinary community.
2016-09-21 00:37:46 -07:00
Sergey Kosukhin
746495896c Qt library: added variant to enable/disable compilation of examples (#1763) 2016-09-21 00:25:14 -07:00
Patrick Gartung
e6dc448f18 Compiling python with gnu c++ on macos fails with toolboxglue enabled. 2016-09-20 23:34:15 -07:00
Denis Davydov
27801c354b fix MacOs class for Sierra (#1811) 2016-09-20 17:25:23 -07:00
Gregory L. Lee
25ee9456f5 added STAT release 3.0.0 2016-09-20 16:09:31 -07:00
Erik Schnetter
ef1f441424 Julia: Add version 0.5.0 (#1809) 2016-09-20 12:40:58 -07:00
Adam J. Stewart
db483e77e4 Remove url_for_version as it breaks spack info (#1503) 2016-09-20 10:17:51 -07:00
Joseph Ciurej
7f9e89eb53 Update Package: Git-LFS (#1769)
* Fixed a few small bugs in the 'git-lfs' install script.

* Fixed a bug in the '(go|go-bootstrap)@1.4.2+test' install scripts.

* Fixing a minor style issue in the 'git-lfs' install script.
2016-09-20 10:08:25 -07:00
Erik Schnetter
00bac8f294 PETSc: Explicitly point to cpp when configuring (#1807)
I encountered an HPC system where PETSc's configure stage does not find a valid `cpp` (C preprocessor). Explicitly pointing to Spack's `cpp` wrapper resolves the problem.
2016-09-20 10:05:57 -07:00
Adam J. Stewart
f180d748be Remove lingering boilerplate FIXMEs (#1756) 2016-09-20 08:01:55 -07:00
Massimiliano Culpo
eb8a0ef75e fix : failing unit tests due to missing self (#1806) 2016-09-20 07:47:13 -07:00
Joseph Ciurej
2cbae1d691 Update Package: Metis (#1783)
* Fixed a bug that was causing post-install METIS tests to fail.

* Improved the patching procedure used in the 'metis' install script.

* Enabled patch skipping for the 'metis' and 'parmetis' packages.

* Fixed some minor style issues in the 'parmetis' package.

* Improved the 'metis' test fix and added 'run_tests' support.
2016-09-20 02:48:31 -07:00
Robert D. French
5c11fe88df Add UberFTP utility (#1780) 2016-09-20 02:47:10 -07:00
Denis Davydov
1565a643bd dealii: add 8.4.2 (#1782) 2016-09-20 02:46:57 -07:00
Bruno Turcksin
20fcd3f1dd Add Python support to gdb. (#1790) 2016-09-20 02:46:30 -07:00
Joseph Ciurej
e73a7c80bf Update Package : Zoltan (#1793)
* Refactored and reorganized the 'zoltan' install script.

* Fixed a few bugs with the '+mpi' and '+fortan' variants of 'zoltan'.

* Reintroduced and improved the '+shared' variant for the 'zoltan' package.

* Improved compatibility with different MPI providers for 'zoltan'.
2016-09-20 02:46:13 -07:00
Eric
c9fe2cd469 Fix format string (in class RemoveFailedError) (#1803) 2016-09-20 02:27:35 -07:00
Tom Merrick
d71f8dcab5 samtools could not find the ncurses library (#1785) 2016-09-20 02:27:19 -07:00
Massimiliano Culpo
ea446c0f0e lmod : added support for the creation of hierarchical lua module files (#1723)
Includes :
- treatment of a generic hierarchy (i.e. lapack + mpi + compiler)
- possibility to specify which compilers are to be considered Core
- correct treatment of the 'family' directive
- unit tests for most new features
2016-09-20 02:26:25 -07:00
Eric
efadc0e299 Allow multi-user installations (#1804)
When re-using previously downloaded tarballs, spack copies from
`var/spack/stage/PACKAGE-VERSION-HASH/downloaded_file` to
`var/spack/cache/PACKAGE/downloaded_file`. This fails if the source is owned by
a different user (`shutil.copy` tries to retain all meta data including file
ownership). Change to a non-meta-data copy function (`shutil.copyfile`).
2016-09-20 02:18:26 -07:00
Erik Schnetter
bd6aac3102 Update Julia to 0.4.7 (#1805) 2016-09-20 02:16:25 -07:00
Erik Schnetter
bddb15ef4c Make VisIt build again (#1762)
- add new version 2.10.3
- explicitly require hdf5 variant ~mpi, since we don't know how to build with mpicc
- explicitly disable glew since it may not be installed
2016-09-20 02:15:58 -07:00
Erik Schnetter
70424b511e Work around cmake problems in VTK (#1761)
The cmake scripts can't handle the semicolons in gcc's version output. Filter them out before detecting the version.
2016-09-20 02:15:37 -07:00
Erik Schnetter
2a558e9d7a Tighten HDF5 version requirements for Silo (#1760) 2016-09-20 02:14:55 -07:00
Erik Schnetter
8426b65592 Make cmake @2.8 build again (#1759) 2016-09-20 02:14:37 -07:00
Erik Schnetter
140f1773cf Update hwloc to 1.11.4 (#1752) 2016-09-20 02:14:17 -07:00
Erik Schnetter
682ac5194e Declare py-beautifulsoup4's dependency on py-setuptools (#1748) 2016-09-20 02:14:06 -07:00
Erik Schnetter
48c87da07b Update curl to 7.50.3 (#1747)
* Update curl to 7.50.2
* Update curl to 7.50.3
2016-09-20 02:13:54 -07:00
Erik Schnetter
bbdc429db3 Update OpenMPI to 2.0.1 (#1721) 2016-09-20 02:13:40 -07:00
Erik Schnetter
2e490050f6 Update OpenBLAS to 0.2.19 (#1702) 2016-09-20 02:13:25 -07:00
Erik Schnetter
ebde2a101e Reorder versions in openssl (#1601) 2016-09-20 02:13:14 -07:00
Erik Schnetter
ee2ddaa7cc Update mbedtls to 2.3.0 (#1600) 2016-09-20 02:13:03 -07:00
Erik Schnetter
6848752fed Update cereal to 1.2.1 (#1599) 2016-09-20 02:12:52 -07:00
Erik Schnetter
dfad4a0abc Update binutils to 2.27 (#1598) 2016-09-20 02:12:40 -07:00
Michael Kuhn
7043fff807 Fix location -p and -P (#1776) 2016-09-15 10:48:28 +08:00
Michael Kuhn
7fd44a983d Update mvapich2 to 2.2 (#1775) 2016-09-15 10:42:57 +08:00
Erik Schnetter
6117ef44e4 Make libstdc++-detection work on Darwin (#1778) 2016-09-15 10:42:14 +08:00
Elizabeth Fischer
2a823fbdfd [RtM] Added py-proj/package.py (RtM = Ready to Merge) (#717)
* Added py-proj package

* Added bug-fix patched version to the package.

* Removed dependency of py-proj on proj.

* py-proj: Added missing dependency

* py-proj: Removed versions from forked repos, now that necessary bug fixes have been merged into the main repo.

* Update package.py

Added a blank line that Travis wanted.

* 1. Added copyright
2. Used setup_py
3. Added type='build' for dependencies.
2016-09-15 10:35:57 +08:00
Elizabeth Fischer
a954d0976a Put back full-length URL. 2016-09-14 16:52:33 -04:00
Elizabeth Fischer
595ec7e034 Bug fix capturing which packages work with which binutils. 2016-09-14 16:50:17 -04:00
Elizabeth Fischer
4a1df7e0b2 Resolved issues of py-pillow, py-scipy and binutils dependencies. Resolves #1506
py-pillow: Remove version dependency on binutils@2.25.  In tests, it works just fine with binutils@2.26.

Fixed flake8 issues.
2016-09-14 10:56:08 -04:00
Erik Schnetter
1d09d1a4e2 Update netlib-lapack to 3.6.1 (#1597) 2016-09-09 13:50:37 -07:00
Erik Schnetter
567d67fae2 Add libiconv dependency for git (#1468)
Also remove "--without-pcre" flag that git does not understand any more.
2016-09-09 12:57:49 -07:00
Erik Schnetter
8249108cc6 Qthreads: Switch back to using tarball to get released version (#1739)
* Qthreads: Switch back to using tarball for download

* Don't require autotools any more

* Re-enable autotools

* Remove autotools again

* Use .tar.bz tarball; remove outdated code
2016-09-09 06:56:11 -07:00
Erik Schnetter
e06a0271a4 New package h5hut (#1737)
* New package h5hut -- High-Performance I/O Library for Particle-based Simulations

* Set up MPI compilers

* Add version 1.8.12 to HDF5

* Correct Sphinx error
2016-09-08 13:27:47 -07:00
Erik Schnetter
ff7c0335ff Declare fontconfig dependency on pkg-config (#1686) 2016-09-08 12:15:42 -07:00
Todd Gamblin
3d3d65f3f7 Merge pull request #1553 from adamjstewart/fixes/netcdf-hdf5
Fix NetCDF/HDF5 dependency resolution problems
2016-09-08 11:58:46 -07:00
Adam J. Stewart
a22f5d8d86 Don't overwrite PYTHONPATH in docs Makefile (#1693) 2016-09-08 09:02:56 -07:00
Adam J. Stewart
06d8a3ad23 Add missing dependency for run-doc-tests (#1691) 2016-09-08 09:02:38 -07:00
Adam J. Stewart
0586b388df Add latest version of libpng, ncview depends on libpng (#1502)
* Add latest version of libpng

* ncview depends on libpng
2016-09-08 09:02:10 -07:00
scheibelp
fd02a140c4 Fix fetching non-expanded resources from mirrors (#1310)
This closes #1308, where fetching a non-expanded resource from a mirror
will cause an error.

This also ensures that when a URL resource is fetched from a mirror,
that it will be named as though it were retrieved from the original
URL. This is particularly useful for non-expanded resources since it
ensures that the resource name is consistent for the installation
(this is less important for expanded resources because the build takes
place inside the expanded resource).
2016-09-07 07:02:24 -07:00
Ian Lee
d55b17dd65 Fixed broken link in README (#1733) 2016-09-06 14:52:44 -07:00
Ben Boeckel
77611913c6 qt: only pass -qt-xcb on non-OS X 2016-09-06 16:53:38 -04:00
Ben Boeckel
112122bc28 qt: progress on qt5.5 on osx
Qt5.5 searches for the SDK itself and just ignores environment variables
like CC and CXX, skipping the spack wrappers.
2016-09-06 16:01:16 -04:00
Ben Boeckel
fca26c0b79 qt: make -no-phonon specific to qt4 2016-09-06 16:00:22 -04:00
Ben Boeckel
67462ca65a qt: fix pcre header conflict in javascriptcore 2016-09-06 16:00:21 -04:00
Ben Boeckel
4687860885 qt: force the 10.9 SDK on macos
The 10.11 SDK fails to configure.
2016-09-06 16:00:21 -04:00
Ben Boeckel
a05a6456d5 glib: build on macos 2016-09-06 16:00:21 -04:00
Ben Boeckel
b810a113af pixman: disable mmx 2016-09-06 16:00:21 -04:00
Ben Boeckel
3df1eeccb9 qt: setup the sdk and platform arguments 2016-09-06 16:00:21 -04:00
Ben Boeckel
71c357e485 qt: support building with 10.10+ SDKs 2016-09-06 16:00:21 -04:00
Ben Boeckel
aa9faceb03 qt: disable phonon support 2016-09-06 16:00:21 -04:00
Ben Boeckel
6075abfbdb qt: depend on icu4c 2016-09-06 16:00:21 -04:00
Ben Boeckel
a9bfd88248 qt: depend on OpenSSL
OS X doesn't come with an OpenSSL supported by Qt4.
2016-09-06 16:00:21 -04:00
Ben Boeckel
4c566617f7 qt: make libxcb a conditional dependency
OS X doesn't have X (usually).
2016-09-06 16:00:21 -04:00
Ben Boeckel
5ba1144515 qt: create a dbus variant 2016-09-06 16:00:20 -04:00
Ben Boeckel
4b471ecc6e qt: support detecting newer SDK paths 2016-09-06 15:59:46 -04:00
Todd Gamblin
f34dd94166 Add debug command for creating tarball of install DB. 2016-09-06 07:55:54 -07:00
Robert D. French
ccfbfcc890 ITS XML Translation Tool (#1728) 2016-09-06 06:56:13 -07:00
Jeffrey Salmond
26d45bc106 fontconfig: add --disable-docs to configure (#1729) 2016-09-06 06:55:58 -07:00
Kelly Thompson
f0192edf0d For OpenMPI v 2+, add a configure option to provide C++ bindings. (#1730)
+ Starting with version 2.0, OpenMPI no longer provides C++ bindings by default
  (libmpi_cxx.so). Add a configure option to instruct the build to also build
  and install libmpi_cxx.so.
+ This MPI feature is needed by at least one spack package (moab).
2016-09-06 06:55:37 -07:00
Todd Gamblin
a8b4a0f287 Merge pull request #1731 from epfl-scitas/packages/plumed_gslcblas
plumed : avoid linking with libgslcblas
2016-09-06 06:55:16 -07:00
Todd Gamblin
1cb6f31b03 Merge pull request #1732 from epfl-scitas/fixes/autoload_and_build_dependencies
fix : ('build',) type dependencies are not accounted when autoloading
2016-09-06 06:55:02 -07:00
alalazo
fc576a40d6 modules : ('build',) type dependencies are not accounted when autoloading
fixes #1681
2016-09-06 15:07:11 +02:00
alalazo
d39b666913 plumed : avoid linking with libgslcblas 2016-09-06 11:21:26 +02:00
alalazo
47f6a6d3cf Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases_rebase
Conflicts:
	lib/spack/spack/build_environment.py
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/astyle/package.py
	var/spack/repos/builtin/packages/lzo/package.py
	var/spack/repos/builtin/packages/openjpeg/package.py
	var/spack/repos/builtin/packages/swiftsim/package.py
2016-09-04 10:12:52 +02:00
Axel Huebl
16c5403ab3 spack boostrap: fix missing include (#1657)
fix a missing include in booststrap.
found on debian 8 with python 2.7
2016-09-03 09:43:00 -07:00
Massimiliano Culpo
497bbb3ae3 added package : pexsi (#1550)
* pexsi : added package
* cp2k : added pexsi (works for gcc+openmpi with and without plumed)
2016-09-03 08:13:47 -07:00
becker33
fa310c825d Merge pull request #1704 from eschnett/eschnett/libiconf-gets
Make libiconv work with C11
2016-09-02 16:46:40 -07:00
becker33
6de191a926 Merge pull request #1708 from robertdfrench/globus-toolkit
Globus Toolkit
2016-09-02 15:31:34 -07:00
Todd Gamblin
07fa1cd5f8 Attributes for directives need to be set at class construction time. (#1718)
- moved ensure_dicts() call from Package.__init__ to
  Package.__metaclass__.
2016-09-02 15:10:30 -07:00
becker33
ea6143402f Merge pull request #1715 from alfredo-gimenez/bugfix/vim
Fix vim package.
2016-09-02 14:59:14 -07:00
becker33
83a8a8ed22 Merge pull request #1717 from alfredo-gimenez/features/sbt
Add sbt (scala build tool) package
2016-09-02 14:56:44 -07:00
Alfredo Gimenez
19102559f0 Add sbt (scala build tool) package 2016-09-02 14:15:20 -07:00
Alfredo Gimenez
817c120b1c Fix vim package 2016-09-02 14:09:46 -07:00
Erik Schnetter
d78d18c4bd Update OpenMPI description (#1705) 2016-09-02 10:57:35 -07:00
Jeffrey Salmond
5146c64dfc Fixes for the ImageMagick package. (#1709)
* add pango dependency

* add new package ghostscript-fonts & add to ImageMagick as dependency

also tell ImageMagick's configure where the font dir is!

* refactor to fix flake8

* add homepage to ghostscript-fonts

* use install_tree

* remove unneeded import
2016-09-02 10:41:35 -07:00
Erik Schnetter
c7bb523c8f Declare qthreads dependency on automake (#1711) 2016-09-02 10:34:07 -07:00
Todd Gamblin
e22ff0d8cd Merge pull request #1707 from eschnett/eschnett/autoconf-old-versions
Add two famous old versions of autoconf
2016-09-02 10:32:33 -07:00
Robert.French
d876d9b778 Globus Toolkit 2016-09-02 16:04:26 +00:00
Erik Schnetter
9ceb3f6b49 Add two famous old versions of autoconf
These old versions are often used because their immediate successors are incompatible in some way.
2016-09-02 11:23:33 -04:00
Erik Schnetter
0bd63ce8be Make libiconv work with C11
C11 does not provide gets() any more, so we cannot reference it
2016-09-02 10:53:59 -04:00
Todd Gamblin
417fe0ec67 Merge pull request #1698 from LLNL/bugfix/hash-collision
Fix hash collisions, add stable hashing
2016-09-02 07:29:44 -07:00
Todd Gamblin
c8b4f978e1 Clean up stable hashing so that specs don't contain !!python/object/apply
- only output basic lists, dicts, etc.
- spec and database now parse and write specs as ordered data.
2016-09-02 03:03:47 -07:00
Todd Gamblin
674434b0fc Merge branch 'UCL-RITS-hash_stability' into bugfix/hash-collision 2016-09-02 03:03:25 -07:00
Todd Gamblin
9268b7aa7c Fix hash copying in _dup.
- Spec._dup() incorrectly copied cached hashes and normal/concrete values
  even when dependency structure was not preserved.

- Now these are only copied when *all* dependencies are copied.
2016-09-02 01:26:19 -07:00
Todd Gamblin
69d45b49e9 Fix hash handling in directory layout
- Currently, build dependencies are not currently hashed; we are waiting
  to hash these until we have smarter concretization that can reuse more
  installed specs.  The layout needs to account for this when checking
  whethert things are installed.
2016-09-02 01:26:01 -07:00
Todd Gamblin
f5bc0cbb65 Merge pull request #1535 from LLNL/bugfix/faster-install-db-gh1521
[WIP] Faster database loading, faster in-memory hashing
2016-09-01 13:00:21 -07:00
Todd Gamblin
8d755c010d Merge pull request #1658 from LLNL/features/git-lfs
Add git-lfs package.
2016-09-01 11:58:18 -07:00
Todd Gamblin
0f26bb9e92 Merge pull request #1688 from LLNL/bugfix/database-issues
Fix dependency bug with `spack reindex`.
2016-09-01 11:39:21 -07:00
Todd Gamblin
69b68153a1 Fix spack reindex so that it will work if DB is corrupt (duh).
- Transaction logic had gotten complicated -- DB would not reindex when
  corrupt, rather the error would be reported (ugh).

- DB will now print the error and force a rebuild when errors are
  detected reading the old databse.
2016-09-01 11:29:32 -07:00
Todd Gamblin
bee5c05568 Update tests to reflect new in-memory hashing vs. coarser dag_hash.
- Spack currently not hashing build deps (to allow more reuse of packages
  and less frequent re-installing)

- Fast in-memory hash should still hash *all* deptypes, and installed
  specs will only reflect link and run deps.

- We'll revert this when we can concretize more liberally based on what
  is already installed.
2016-09-01 11:29:32 -07:00
Todd Gamblin
235a045d08 Add option to copy only certain deptypes to Spec.copy()
- can now pass these to Spec.copy() and Spec._dup():
  - deps=True
  - deps=False
  - deps=(list of deptypes)

- Makes it easy to filter out only part of a spec.
2016-09-01 11:29:32 -07:00
Todd Gamblin
409e7a2e64 Faster database loading.
- use a 3-pass algorithm to load the installed package DAG.

- avoid redundant hashing/comparing on load.
2016-09-01 11:29:32 -07:00
Todd Gamblin
a8aad95d41 Specs now cache result of "fast" in-memory hash.
- Hash causes major slowdown for reading/setting up large DBs

- New version caches hash for concrete specs, which includes all specs in
  the install DB
2016-09-01 11:29:32 -07:00
Todd Gamblin
c46a15b574 Fix dependency bug in database. Fixes #1265, #1320. 2016-09-01 11:25:01 -07:00
Todd Gamblin
4a87d4ab8e Make gh-pages redirect to readthedocs.io 2016-08-31 19:40:22 -07:00
Todd Gamblin
bf8413379f Merge pull request #1593 from eschnett/eschnett/depends_on
Expand/clarify description of dependency types
2016-08-31 12:07:11 -07:00
Erik Schnetter
efc570afab Expand/clarify description of dependency types 2016-08-31 14:42:32 -04:00
Todd Gamblin
e3c182a1c4 Merge pull request #1677 from eschnett/eschnett/lzo-hotfix
Switch lzo download from https to http
2016-08-31 09:43:16 -07:00
Erik Schnetter
932cd6fa19 Switch lzo download from https to http
lzo's download server does not present a valid certificate, so that downloads via https are failing. Spack's MD5 checksum still ensure a safe download.

Closes #1675.
2016-08-31 12:41:04 -04:00
Todd Gamblin
0ff048521b Fix modules.rst doc build warning. 2016-08-30 22:15:13 -07:00
Todd Gamblin
8709e1c1c3 Move docs to readthedocs.io
- Docs are now visible immediately, and we don't have to push them
  separately.
2016-08-30 21:19:31 -07:00
Todd Gamblin
9de7e25085 Merge branch 'bugfix/rtd-generation' into develop 2016-08-30 21:13:53 -07:00
Todd Gamblin
3a9388b43a Move sphinx-apidoc into conf.py, too. 2016-08-30 21:02:34 -07:00
Todd Gamblin
32834dd67d fix sys.path in conf.py 2016-08-30 20:50:14 -07:00
Todd Gamblin
05545a2528 test. 2016-08-30 20:49:56 -07:00
Todd Gamblin
41675e5ed6 sorted command index, better colification. 2016-08-30 20:49:56 -07:00
Todd Gamblin
918cb16921 Merge branch 'features/travis' into develop 2016-08-30 20:43:29 -07:00
Todd Gamblin
176a84a828 Don't test sphinx-generated conf.py for flake8 issues. 2016-08-30 20:30:43 -07:00
Todd Gamblin
c470ffe1ac Install graphviz before build. 2016-08-30 20:17:12 -07:00
Todd Gamblin
d9c5191563 Fix issue with path to Spack. 2016-08-30 19:57:33 -07:00
Todd Gamblin
fc748eb3d0 Exclude spack.__all__ from documentation.
Everything in the __all__ list in the spack module is from some other
module, so only do their documentation in their original location.  This
also avoids issues like the fact that some directive names shadow spack
core module names.
2016-08-30 16:36:50 -05:00
Adam J. Stewart
1be6267149 Undo changes to trailing triple quotes in docstring 2016-08-30 16:28:55 -05:00
Adam J. Stewart
f6d07b54f1 Always run spack unit tests 2016-08-30 16:01:00 -05:00
Adam J. Stewart
9b455e9254 Resolve new documentation issues that have cropped up 2016-08-30 15:58:22 -05:00
Adam J. Stewart
cc7df29e81 Keep dashes in command names, translate to underscores 2016-08-30 15:37:23 -05:00
Adam J. Stewart
ae2a803496 Make subcommands importable, '-' -> '_', fixes #1642 2016-08-30 15:36:33 -05:00
Adam J. Stewart
8d1a753a1b Fix spack --profile, fixes #1639 2016-08-30 15:35:58 -05:00
Adam J. Stewart
e04b76c2c3 Add spack to the PATH for doc tests 2016-08-30 15:35:58 -05:00
Adam J. Stewart
a0c8aca3a2 Remove py-mercurial, going with mercurial package instead 2016-08-30 15:35:58 -05:00
Adam J. Stewart
6795f4ca12 Use console instead of shell syntax lexer, fixes #1634 2016-08-30 15:35:58 -05:00
Adam J. Stewart
f856952728 Always run Documentation tests 2016-08-30 15:32:54 -05:00
Adam J. Stewart
f78134efa5 Fixes #1620, Missing references 2016-08-30 15:32:54 -05:00
Adam J. Stewart
867a92f083 Fixes #1618, Problems with spack package-list 2016-08-30 15:32:54 -05:00
Adam J. Stewart
69e50595bf Fix docstrings for core Spack libraries, fixes #1612 2016-08-30 15:32:54 -05:00
Adam J. Stewart
02239c094e Fix unexpected indentation in .rst files, #1612 2016-08-30 15:29:51 -05:00
Adam J. Stewart
eb56744f4d Fix package docstrings, #1612 2016-08-30 15:29:50 -05:00
Adam J. Stewart
0614bd206f Fix #1608, Include file not found 2016-08-30 15:28:09 -05:00
Adam J. Stewart
2326355497 Fix #1604 and fix #1605, title underline problems 2016-08-30 15:28:08 -05:00
Adam J. Stewart
c36f13e44d Added more missing dependencies 2016-08-30 15:21:15 -05:00
Adam J. Stewart
fda7fcd73d Fix #1594, duplicate explicit target name 2016-08-30 15:21:15 -05:00
Adam J. Stewart
a235d030ac Fix typos and bugs in Travis config file
Forgot to change one of the TEST_TYPEs to TEST_SUITE.
-eq not working, trying == instead.
Cache doesn't seem to be working, removed.
2016-08-30 15:21:15 -05:00
Adam J. Stewart
7f9d098c2f Add mercurial package, used as test dependency 2016-08-30 15:21:15 -05:00
Adam J. Stewart
1fc14fd7ed Only run unit tests when core Spack framework is modified 2016-08-30 15:21:15 -05:00
Adam J. Stewart
d2d6c91b66 Run documentation tests when documentation is modified 2016-08-30 15:21:15 -05:00
Adam J. Stewart
679f787a65 Add generic changed_files script 2016-08-30 15:21:15 -05:00
Adam J. Stewart
c6aa32bb3c Some flake8 settings weren't documented 2016-08-30 15:20:03 -05:00
Adam J. Stewart
732c1985ef Overhaul Spack's CI Infrastructure 2016-08-30 15:20:03 -05:00
Todd Gamblin
7e4c6afd91 Merge pull request #1412 from adamjstewart/features/cmake
Overhaul of CMake package and compression libraries
2016-08-30 12:18:56 -07:00
Todd Gamblin
abd1546d86 Merge pull request #1668 from ax3l/topic-pngwriter
PNGwriter: Add Spack Package
2016-08-30 10:21:27 -07:00
Todd Gamblin
fa99b76b58 Merge pull request #1667 from ax3l/topic-libsplash
libSplash: Add Spack Package
2016-08-30 10:20:57 -07:00
Axel Huebl
d2d2234def HDF5 Dependency: Rewrite to Union
@adamjstewart
```
think you'll find that if you try running something like:
spack spec libsplash ^hdf5@1.8.15
It will complain that libsplash does not depend on hdf5.
This is a bug in Spack's dependency resolution. A workaround
for this is to tell it to always depend on hdf5.
```

@davydden
```
to expand on @adamjstewart comment, spack will make a union
of dependencies,
i.e. hdf5@1.8.6: + hdf5+mpi = hdf5:1.8.6:+mpi, that's why it works.
```

thank you for the hint!
2016-08-30 17:00:09 +02:00
Axel Huebl
03c4d65af1 PNGwriter: Add Spack Package
Adds a package for
[PNGwriter](https://github.com/pngwriter/pngwriter/),
a simple high-level C++ png API used in scientific projects.

```
PNGwriter is a very easy to use open source graphics library that
uses PNG as its output format. The interface has been designed to be
as simple and intuitive as possible. It supports plotting and reading
pixels in the RGB (red, green, blue), HSV (hue, saturation,
value/brightness) and CMYK (cyan, magenta, yellow, black) colour
spaces, basic shapes, scaling, bilinear interpolation, full TrueType
antialiased and rotated text support, bezier curves, opening existing
PNG images and more.
```

PNGwriter is a dependency for [PIConGPU](http://picongpu.hzdr.de),
an open-source, many-core, fully-relativistic particle-in-cell code
and further software developed at
[Helmholz-Zentrum Dresden - Rossendorf](https://www.hzdr.de).
2016-08-30 12:45:53 +02:00
Axel Huebl
3aaa077c9f libSplash: Add Spack Package
Adds a package for
[libSplash](https://github.com/ComputationalRadiationPhysics/libSplash),
a high-level library around serial and parallel HDF5 for regular
grids and particle data sets.

```
libSplash aims at developing a HDF5-based I/O library for HPC
simulations. It is created as an easy-to-use frontend for the
standard HDF5 library with support for MPI processes in a cluster
environment. While the standard HDF5 library provides detailed
low-level control, libSplash simplifies tasks commonly found in
large-scale HPC simulations, such as iter- ative computations
and MPI distributed processes.
```

libSplash is a dependency for [PIConGPU](http://picongpu.hzdr.de),
an open-source, many-core, fully-relativistic particle-in-cell
code and further software developed at
[Helmholz-Zentrum Dresden - Rossendorf](https://www.hzdr.de).

libSplash builds in two versions, one without MPI writing
domain-decomposed posix-style HDF5 files per process and one
(default) with MPI and MPI-I/O ("parallel HDF5") support
aggregating into a single file per MPI communicator.

libSplash is used in conjunction with
[openPMD](http://openPMD.org), see also
[github.com/openPMD/](https://github.com/openPMD/).
2016-08-30 12:42:39 +02:00
Todd Gamblin
dae00fec29 Move all documentation generation into conf.py
- extra steps in Makefile are ignored by readthedocs
2016-08-30 00:47:04 -07:00
Todd Gamblin
47bf7ecb2b Merge pull request #1652 from ax3l/topic-updateAdios110
Update ADIOS Package
2016-08-29 22:59:39 -07:00
Massimiliano Culpo
3ecf4ef8c9 resources : added docs fixes #1551 (#1627) 2016-08-29 22:40:50 -07:00
Todd Gamblin
8ab47537c7 Fix exception constructors. (#1663) 2016-08-29 22:34:47 -07:00
Elizabeth Fischer
cf11c32720 libpciaccess: Changed libtool to a build dependency. (#1602) 2016-08-29 22:11:27 -07:00
Axel Huebl
0f40175524 Remove Space, Enable Parallel
- remove space before comma
- enable parallel build again (seems to work)
2016-08-30 02:02:48 +02:00
Axel Huebl
ecacce7e07 ADIOS: Use NetCDF Prefix from spec's 2016-08-30 00:51:44 +02:00
Gregory Lee
e32247e53a added qt-creator (#1659) 2016-08-29 15:45:16 -07:00
Axel Huebl
37f489886e Defaults: MPI=True, Fortran=False
- ADIOS is mainly a parallel I/O library
- a Fortran compiler is non-standard in a minimal install
2016-08-30 00:14:29 +02:00
Axel Huebl
b33777fd2f RM Outdated Comments, Versions & Code 2016-08-29 23:18:31 +02:00
Axel Huebl
88254a14a7 Always External MXML; type='build'
- always use `mxml` as an external dependency in spack
- declare `build`-only dependencies correctly
2016-08-29 23:01:20 +02:00
Axel Huebl
e1464ece55 ADIOS: disable parallel make 2016-08-29 19:06:22 +02: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
Axel Huebl
f2eb1c93df ADIOS: Run Autotools First 2016-08-29 18:42:07 +02: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
Axel Huebl
4bd863761a Update ADIOS Package
This PR updates the ADIOS package.

**Changes:**

- add latest stable release `1.10.0`
- add previous versions (hashes)
- add default license header
- add build options (shamelessly taken from HDF5 package)
- add validation for excisting FC (as in HDF5) and make optional
- handle mxml dependency correctly (not required in 1.10.0+)
- add `CFLAGS=-fPIC` to build shared (python) libs in ADIOS' lib
- remove `-DMPICH_IGNORE_CXX_SEEK` since it is normally not required
- remove `MPICC/CXX?FC` since `--with-mpi` just performs well
- add transforms:
  - `zlib`: useful (optional) default
  - `szip`: optional (compile often broken)
- add transports that are not as performant as the `.bp` format:
  - `hdf5`: non-default
  - `netcdf`: non-default, close #1610
2016-08-29 17:16:15 +02: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
Todd Gamblin
ed365614f4 Add git-lfs package. 2016-08-28 19:27:59 -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
Adam J. Stewart
eace068788 Use self.run_tests for make check 2016-08-24 15:21:23 -05:00
Adam J. Stewart
70bb1f1707 Reduce number of variants, just use system or no-system libs 2016-08-24 14:39:05 -05: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
Adam J. Stewart
28537ae7b7 Workaround until variant forwarding works properly 2016-08-18 14:40:21 -05: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
Adam J. Stewart
4d12c5455a Fix NetCDF/HDF5 dependency resolution problems 2016-08-17 13:03:56 -05: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
Elizabeth Fischer
a733e7e303 py-pathspec: New package
Related to Python unit testing.
2016-08-17 00:34:33 -04: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
4f8167b7ed Don't assume spack is in the path when building docs. 2016-08-15 10:57:15 -07: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
b47357d73c Add patch for Intel compilers 2016-08-11 10:22:47 -05:00
Adam J. Stewart
5fc20487e4 Flake8 and formatting changes 2016-08-11 10:22:47 -05:00
Adam J. Stewart
534e1cbf1b Some tests don't pass with Intel compilers 2016-08-11 10:20:08 -05:00
Adam J. Stewart
ee5e20dae3 Add dependencies to libarchive and cmake 2016-08-11 10:17:42 -05:00
Adam J. Stewart
58d7704060 Overhaul of compression libraries 2016-08-11 10:15:13 -05:00
Mayeul d'Avezac
7769367747 dag_hash stabilised by depending on sorted dict
Spec.to_node_dict uses OrderedDict

This is to try and ensure that the dag_hash is stable across python
version and processes.
2016-08-11 16:03:50 +01: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
alalazo
f5433477b9 qa : flake8 issues 2016-08-11 09:08:00 +02:00
alalazo
b4b9ebe7d7 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts:
	lib/spack/llnl/util/tty/log.py
	lib/spack/spack/__init__.py
	lib/spack/spack/cmd/install.py
	lib/spack/spack/cmd/setup.py
	lib/spack/spack/package.py
	var/spack/repos/builtin/packages/blitz/package.py
	var/spack/repos/builtin/packages/gmp/package.py
	var/spack/repos/builtin/packages/qhull/package.py
	var/spack/repos/builtin/packages/szip/package.py
2016-08-11 08:55:20 +02: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
alalazo
b92deda41b spack setup : work as in documentation for openjpeg 2016-07-20 22:27:01 +02: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
alalazo
40cb314638 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts:
	lib/spack/spack/package.py
2016-07-20 21:02:19 +02: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
alalazo
6c00a13ed5 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts:
	var/spack/repos/builtin/packages/swiftsim/package.py
2016-07-18 08:49:24 +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
833b0ac282 Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts:
	lib/spack/spack/__init__.py
	var/spack/repos/builtin/packages/gmp/package.py
	var/spack/repos/builtin/packages/openjpeg/package.py
2016-07-15 11:03:02 +02:00
alalazo
893a5565fe Merge branch 'develop' of https://github.com/LLNL/spack into features/install_with_phases
Conflicts:
	lib/spack/spack/__init__.py
	var/spack/repos/builtin/packages/gmp/package.py
	var/spack/repos/builtin/packages/openjpeg/package.py
2016-07-15 11:02:55 +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
alalazo
b8fccb5f61 CMakePackage : added hook for roo CmakeLists.txt, removed duplicated code from build_environment.py 2016-07-14 12:04:24 +02:00
alalazo
1ecea4c2f1 log : refactored acquire and release semantic to meet the context manager protocol 2016-07-14 09:34:01 +02:00
alalazo
00b8e0b567 package.py : joined and simplified try/except blocks in do_install 2016-07-14 09:11:44 +02: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
alalazo
9d66b85492 log : changed semantic for start / join (now it's explicit) 2016-07-13 22:51:12 +02:00
alalazo
90b131260b log : changed semantic for start / join (now it's explicit) 2016-07-13 22:50:39 +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
7cedd620f1 package.py : added CMakePackage, changed qhull, ibmisc, openjpeg to work as examples 2016-07-13 17:36:06 +02: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
alalazo
ad16830f71 log : added timeout to avoid deadlocks on daemon join 2016-07-13 11:20:23 +02:00
alalazo
468a6431f9 package.py : workaround for a known bug that was not fixed in python 2.6
https://bugs.python.org/issue1515
2016-07-13 11:08:19 +02:00
Denis Davydov
b8bd02c5b2 p4est: use run_tests instead of a variant 2016-07-13 10:56:40 +02:00
alalazo
5cc59507f7 package.py : hdf5 and lzo have examples of run_tests 2016-07-13 09:27:09 +02:00
alalazo
97c2224cd6 package.py : extra arguments, fixed inheritance issue
- added attribute to hold extra arguments in PackageBase instances
- fixed registration from within packages
- examples : hdf5, lzo
2016-07-13 09:27:09 +02:00
alalazo
813cb032c4 package.py : updated logic to log.py rework
Conflicts:
	lib/spack/spack/package.py
2016-07-13 09:27:09 +02:00
alalazo
513cdd580e do_install : can stop at an arbitrary phase
Now uses a StopIteration exception as a signal
2016-07-13 09:27:09 +02:00
alalazo
9af964a6d6 log_output : moved from os.fork to multiprocessing.Process 2016-07-13 09:27:09 +02:00
alalazo
440e71ff13 build_environment : moved from os.fork to multiprocessing.Process 2016-07-13 09:27:09 +02:00
alalazo
857d7bfe0f do_install : can stop at an arbitrary phase
The mechanism would be simpler if we could leverage exceptions to raise signals. Unfortunately forking does not permit to do so.
2016-07-13 09:27:09 +02:00
alalazo
a43c63f149 package : added EditableMakefile
Modifications :
- added EditableMakefile to PackageBase subclasses
- astyle modified as an example
- preliminary hook to stop at a certain phase of install
2016-07-13 09:27:09 +02:00
alalazo
8f75d34331 package : added a stub for AutotoolsPackage, examples in szip and swiftsim 2016-07-13 09:27:09 +02:00
alalazo
8ed028e2d6 package : introduced InstallPhase, added decorators for prerequisites and sanity_checks of phases 2016-07-13 09:27:09 +02:00
alalazo
a36f3764af package : added hooks for generic phases 2016-07-13 09:27:09 +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
164da8eed1 Version bump to 0.9.1
- Bugfixes for spack find
- 0.9.1 can read specs from current develop.
2016-05-18 08:30:13 -07:00
alalazo
6e1257ed2d fixes #967 2016-05-18 08:28:02 -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
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
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
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
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
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
c1be1a362b Update mailing list info to Googele Groups. 2015-04-13 11:02:13 -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
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
1414480d3a Merge develop for v0.8.16 release. 2015-03-13 23:41:59 -04: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
8eab69fc0b Merge branch 'develop' for v0.8.15 2015-02-24 10:42:58 -08:00
3378 changed files with 276989 additions and 18361 deletions

36
.codecov.yml Normal file
View File

@@ -0,0 +1,36 @@
coverage:
precision: 2
round: nearest
range: 60...90
status:
project:
default: true
llnl:
threshold: 0.5
paths:
- lib/spack/llnl
commands:
threshold: 0.5
paths:
- lib/spack/spack/cmd
build_systems:
threshold: 0.5
paths:
- lib/spack/spack/build_systems
modules:
threshold: 0.5
paths:
- lib/spack/spack/modules
core:
threshold: 0.5
paths:
- "!lib/spack/llnl"
- "!lib/spack/spack/cmd"
ignore:
- lib/spack/spack/test/.*
- lib/spack/env/.*
- lib/spack/docs/.*
- lib/spack/external/.*
comment: off

36
.coveragerc Normal file
View File

@@ -0,0 +1,36 @@
# -*- conf -*-
# .coveragerc to control coverage.py
[run]
parallel = True
concurrency = multiprocessing
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

21
.flake8 Normal file
View File

@@ -0,0 +1,21 @@
# -*- conf -*-
# flake8 settings for Spack core files.
#
# These exceptions ar for Spack core files. We're slightly more lenient
# with packages. See .flake8_packages for that.
#
# Let people line things up nicely:
# - E129: visually indented line with same indent as next logical line
# - E221: multiple spaces before operator
# - E241: multiple spaces after ','
# - E272: multiple spaces before keyword
#
# Let people use terse Python features:
# - E731: lambda expressions
#
# These are required to get the package.py files to test clean:
# - F999: syntax error in doctest
#
[flake8]
ignore = E129,E221,E241,E272,E731,F999
max-line-length = 79

22
.flake8_packages Normal file
View File

@@ -0,0 +1,22 @@
# -*- conf -*-
# flake8 settings for Spack package files.
#
# This should include all the same exceptions that we use for core files.
#
# In Spack packages, we also allow the single `from spack import *`
# wildcard import and dependencies can set globals for their
# dependents. So we add exceptions for checks related to undefined names.
#
# Note that we also add *per-line* exemptions for certain patters in the
# `spack flake8` command. This is where F403 for `from spack import *`
# is added (beause we *only* allow that wildcard).
#
# See .flake8 for regular exceptions.
#
# Redefinition exceptions:
# - F405: `name` may be undefined, or undefined from star imports: `module`
# - F821: undefined name `name` (needed for cmake, configure, etc.)
#
[flake8]
ignore = E129,E221,E241,E272,E731,F999,F405,F821
max-line-length = 79

18
.gitignore vendored
View File

@@ -1,9 +1,25 @@
/db
/var/spack/stage
/var/spack/cache
/var/spack/repos/*/index.yaml
/var/spack/repos/*/lock
*.pyc
/opt/
/opt
*~
.DS_Store
.idea
# Ignore everything in /etc/spack except /etc/spack/defaults
/etc/spack/*
!/etc/spack/defaults
/etc/spackconfig
/share/spack/dotkit
/share/spack/modules
/share/spack/lmod
/TAGS
*.swp
/htmlcov
.coverage
#*
.#*
/.cache
/bin/spackc

56
.mailmap Normal file
View File

@@ -0,0 +1,56 @@
Abhinav Bhatele <bhatele@llnl.gov> Abhinav Bhatele <bhatele@gmail.com>
Adam Moody <moody20@llnl.gov> Adam T. Moody <moody20@llnl.gov>
Alfredo Gimenez <gimenez1@llnl.gov> Alfredo Gimenez <alfredo.gimenez@gmail.com>
Alfredo Gimenez <gimenez1@llnl.gov> Alfredo Adolfo Gimenez <alfredo.gimenez@gmail.com>
Andrew Williams <williamsa89@cardiff.ac.uk> Andrew Williams <andrew@alshain.org.uk>
Ben Boeckel <ben.boeckel@kitware.com> Ben Boeckel <mathstuf@gmail.com>
Ben Boeckel <ben.boeckel@kitware.com> Ben Boeckel <mathstuf@users.noreply.github.com>
Benedikt Hegner <hegner@cern.ch> Benedikt Hegner <benedikt.hegner@cern.ch>
Brett Viren <bv@bnl.gov> Brett Viren <brett.viren@gmail.com>
David Boehme <boehme3@llnl.gov> David Boehme <boehme3@sierra324.llnl.gov>
David Boehme <boehme3@llnl.gov> David Boehme <boehme3@sierra648.llnl.gov>
David Poliakoff <poliakoff1@llnl.gov> David Poliakoff <david.poliakoff@gmail.com>
Dhanannjay Deo <dhanannjay.deo@kitware.com> Dhanannjay 'Djay' Deo <dhanannjay.deo@kitware.com>
Elizabeth Fischer <elizabeth.fischer@columbia.edu> Elizabeth F <elizabeth.fischer@columbia.edu>
Elizabeth Fischer <elizabeth.fischer@columbia.edu> Elizabeth F <rpf2116@columbia.edu>
Elizabeth Fischer <elizabeth.fischer@columbia.edu> Elizabeth Fischer <rpf2116@columbia.edu>
Elizabeth Fischer <elizabeth.fischer@columbia.edu> citibeth <rpf2116@columbia.edu>
Geoffrey Oxberry <oxberry1@llnl.gov> Geoffrey Oxberry <goxberry@gmail.com>
Glenn Johnson <glenn-johnson@uiowa.edu> Glenn Johnson <gjohnson@argon-ohpc.hpc.uiowa.edu>
Glenn Johnson <glenn-johnson@uiowa.edu> Glenn Johnson <glennpj@gmail.com>
Gregory Becker <becker33@llnl.gov> Gregory Becker <becker33.llnl.gov>
Gregory Becker <becker33@llnl.gov> becker33 <becker33.llnl.gov>
Gregory Becker <becker33@llnl.gov> becker33 <becker33@llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Greg Lee <lee218@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 L. Lee <lee218@surface86.llnl.gov>
Gregory L. Lee <lee218@llnl.gov> Gregory Lee <lee218@llnl.gov>
Ian Lee <lee1001@llnl.gov> Ian Lee <IanLee1521@gmail.com>
James Wynne III <wynnejr@ornl.gov> James Riley Wynne III <wynnejr@ornl.gov>
James Wynne III <wynnejr@ornl.gov> James Wynne III <wynnejr@gpujake.com>
Joachim Protze <protze@rz.rwth-aachen.de> jprotze <protze@rz.rwth-aachen.de>
Kelly (KT) Thompson <kgt@lanl.gov> <kellyt@MENE.localdomain>
Kelly (KT) Thompson <kgt@lanl.gov> Kelly Thompson <KineticTheory@users.noreply.github.com>
Kevin Brandstatter <kjbrandstatter@gmail.com> Kevin Brandstatter <kbrandst@hawk.iit.edu>
Luc Jaulmes <luc.jaulmes@bsc.es> Luc Jaulmes <jaulmes1@llnl.gov>
Mario Melara <maamelara@gmail.com> Mario Melara <mamelara@genepool1.nersc.gov>
Mark Miller <miller86@llnl.gov> miller86 <miller86@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>
Mayeul d'Avezac <m.davezac@ucl.ac.uk> Mayeul d'Avezac <mdavezac@gmail.com>
Mitchell Devlin <mitchell.r.devlin@gmail.com> Mitchell Devlin <devlin@blogin4.lcrc.anl.gov>
Nicolas Richart <nicolas.richart@epfl.ch> Nicolas <nrichart@users.noreply.github.com>
Nicolas Richart <nicolas.richart@epfl.ch> Nicolas Richart <nrichart@users.noreply.github.com>
Peter Scheibel <scheibel1@llnl.gov> scheibelp <scheibel1@llnl.gov>
Robert D. French <frenchrd@ornl.gov> Robert D. French <robert@robertdfrench.me>
Robert D. French <frenchrd@ornl.gov> Robert.French <frenchrd@ornl.gov>
Robert D. French <frenchrd@ornl.gov> robertdfrench <frenchrd@ornl.gov>
Saravan Pantham <saravan.pantham@gmail.com> Saravan Pantham <pantham1@surface86.llnl.gov>
Stephen Herbein <sherbein@udel.edu> Stephen Herbein <stephen272@gmail.com>
Todd Gamblin <tgamblin@llnl.gov> George Todd Gamblin <gamblin2@llnl.gov>
Todd Gamblin <tgamblin@llnl.gov> Todd Gamblin <gamblin2@llnl.gov>
Tom Scogland <tscogland@llnl.gov> Tom Scogland <scogland1@llnl.gov>
Tom Scogland <tscogland@llnl.gov> Tom Scogland <tom.scogland@gmail.com>
Tzanio Kolev <tzanio@llnl.gov> Tzanio <tzanio@llnl.gov>

172
.travis.yml Normal file
View File

@@ -0,0 +1,172 @@
#=============================================================================
# Project settings
#=============================================================================
# Only build master and develop on push; do not build every branch.
branches:
only:
- master
- develop
- /^releases\/.*$/
#=============================================================================
# Build matrix
#=============================================================================
jobs:
fast_finish: true
include:
- stage: 'flake8 + documentation'
python: '2.7'
os: linux
language: python
env: TEST_SUITE=flake8
- stage: 'flake8 + documentation'
python: '2.7'
os: linux
language: python
env: TEST_SUITE=doc
- stage: 'unit tests'
python: '2.6'
os: linux
language: python
env: TEST_SUITE=unit
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- python: '3.3'
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.4'
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.5'
os: linux
language: python
env: TEST_SUITE=unit
- python: '3.6'
os: linux
language: python
env: [ TEST_SUITE=unit, COVERAGE=true ]
- stage: 'unit tests - osx'
os: osx
language: generic
env: [ TEST_SUITE=unit, PYTHON_VERSION=2.7, COVERAGE=true ]
# mpich (AutotoolsPackage)
- stage: 'build tests'
python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=mpich' ]
# astyle (MakefilePackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=astyle' ]
# tut (WafPackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=tut' ]
# py-setuptools (PythonPackage)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=py-setuptools' ]
# perl-dbi (PerlPackage)
# - python: '2.7'
# os: linux
# language: python
# env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=perl-dbi' ]
# openjpeg (CMakePackage + external cmake)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=openjpeg' ]
# r-rcpp (RPackage + external R)
- python: '2.7'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=r-rcpp' ]
# mpich (AutotoolsPackage)
- python: '3.6'
os: linux
language: python
env: [ TEST_SUITE=build, COVERAGE=true, 'SPEC=mpich' ]
stages:
- 'flake8 + documentation'
- 'unit tests'
- 'build tests'
- name: 'unit tests - osx'
if: type IN (cron)
#=============================================================================
# Environment
#=============================================================================
# Use new Travis infrastructure (Docker can't sudo yet)
sudo: false
# Docs need graphviz to build
addons:
apt:
packages:
- gfortran
- mercurial
- graphviz
- gnupg2
- cmake
- r-base
- r-base-core
- r-base-dev
- perl
- perl-base
cache: pip
# Work around Travis's lack of support for Python on OSX
before_install:
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew update; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions python > /dev/null || brew install python; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions gcc > /dev/null || brew install gcc; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then brew ls --versions gnupg2 > /dev/null || brew install gnupg2; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then virtualenv venv; fi
- if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then source venv/bin/activate; fi
# Install various dependencies
install:
- pip install --upgrade pip
- pip install --upgrade six
- pip install --upgrade setuptools
- pip install --upgrade codecov
- pip install --upgrade flake8
- if [[ "$TEST_SUITE" == "doc" ]]; then pip install --upgrade -r lib/spack/docs/requirements.txt; fi
before_script:
# 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
# Set up external dependencies for build tests, because the take too long to compile
- if [[ "$TEST_SUITE" == "build" ]]; then cp share/spack/qa/configuration/packages.yaml etc/spack/packages.yaml; fi
#=============================================================================
# Building
#=============================================================================
script:
- share/spack/qa/run-$TEST_SUITE-tests
- if [[ "$COVERAGE" == "true" ]]; then codecov --env PYTHON_VERSION --required --flags "${TEST_SUITE}${TRAVIS_OS_NAME}"; fi
#=============================================================================
# Notifications
#=============================================================================
notifications:
email:
recipients: tgamblin@llnl.gov
on_success: change
on_failure: always

46
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,46 @@
# Contributor Covenant Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
* The use of sexualized language or imagery and unwelcome sexual attention or advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned to this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at maintainers@spack.io. The project team will review and investigate all complaints, and will respond in a way that it deems appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4, available at [http://contributor-covenant.org/version/1/4][version]
[homepage]: http://contributor-covenant.org
[version]: http://contributor-covenant.org/version/1/4/

5
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,5 @@
# Contributing to Spack
Before contributing to Spack you should read the
[Contribution Guide](https://spack.readthedocs.io/en/latest/contribution_guide.html),
which is maintained as part of Spack's documentation.

568
LICENSE
View File

@@ -1,129 +1,197 @@
Copyright (c) 2013-2014, Lawrence Livermore National Security, LLC.
Produced at the Lawrence Livermore National Laboratory.
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
This file is part of Spack.
Written by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
LLNL-CODE-647188
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
For details, see https://scalability-llnl.github.io/spack
[This is the first released version of the Lesser GPL. It also counts
as the successor of the GNU Library Public License, version 2, hence
the version number 2.1.]
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.
Preamble
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.
The licenses for most software are designed to take away your
freedom to share and change it. By contrast, the GNU General Public
Licenses are intended to guarantee your freedom to share and change
free software--to make sure the software is free for all its users.
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
This license, the Lesser General Public License, applies to some
specially designated software packages--typically libraries--of the
Free Software Foundation and other authors who decide to use it. You
can use it too, but we suggest you first think carefully about whether
this license or the ordinary General Public License is the better
strategy to use in any particular case, based on the explanations below.
OUR NOTICE AND TERMS AND CONDITIONS OF THE GNU GENERAL PUBLIC LICENSE
When we speak of free software, we are referring to freedom of use,
not price. Our General Public Licenses are designed to make sure that
you have the freedom to distribute copies of free software (and charge
for this service if you wish); that you receive source code or can get
it if you want it; that you can change the software and use pieces of
it in new free programs; and that you are informed that you can do
these things.
Our Preamble Notice
To protect your rights, we need to make restrictions that forbid
distributors to deny you these rights or to ask you to surrender these
rights. These restrictions translate to certain responsibilities for
you if you distribute copies of the library or if you modify it.
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.
For example, if you distribute copies of the library, whether gratis
or for a fee, you must give the recipients all the rights that we gave
you. You must make sure that they, too, receive or can get the source
code. If you link other code with the library, you must provide
complete object files to the recipients, so that they can relink them
with the library after making changes to the library and recompiling
it. And you must show them these terms so they know their rights.
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.
We protect your rights with a two-step method: (1) we copyright the
library, and (2) we offer you this license, which gives you legal
permission to copy, distribute and/or modify the library.
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.
To protect each distributor, we want to make it very clear that
there is no warranty for the free library. Also, if the library is
modified by someone else and passed on, the recipients should know
that what they have is not the original version, so that the original
author's reputation will not be affected by problems that might be
introduced by others.
The precise terms and conditions for copying, distribution and
modification follows.
Finally, software patents pose a constant threat to the existence of
any free program. We wish to make sure that a company cannot
effectively restrict the users of a free program by obtaining a
restrictive license from a patent holder. Therefore, we insist that
any patent license obtained for a version of the library must be
consistent with the full freedom of use specified in this license.
GNU Lesser GPL terms and Conditions for Copying, Distribution, and
Modification
Most GNU software, including some libraries, is covered by the
ordinary GNU General Public License. This license, the GNU Lesser
General Public License, applies to certain designated libraries, and
is quite different from the ordinary General Public License. We use
this license for certain libraries in order to permit linking those
libraries into non-free programs.
0. This License Agreement applies to any software library or other
When a program is linked with a library, whether statically or using
a shared library, the combination of the two is legally speaking a
combined work, a derivative of the original library. The ordinary
General Public License therefore permits such linking only if the
entire combination fits its criteria of freedom. The Lesser General
Public License permits more lax criteria for linking other code with
the library.
We call this license the "Lesser" General Public License because it
does Less to protect the user's freedom than the ordinary General
Public License. It also provides other free software developers Less
of an advantage over competing non-free programs. These disadvantages
are the reason we use the ordinary General Public License for many
libraries. However, the Lesser license provides advantages in certain
special circumstances.
For example, on rare occasions, there may be a special need to
encourage the widest possible use of a certain library, so that it becomes
a de-facto standard. To achieve this, non-free programs must be
allowed to use the library. A more frequent case is that a free
library does the same job as widely used non-free libraries. In this
case, there is little to gain by limiting the free library to free
software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free
programs enables a greater number of people to use a large body of
free software. For example, permission to use the GNU C Library in
non-free programs enables many more people to use the whole GNU
operating system, as well as its variant, the GNU/Linux operating
system.
Although the Lesser General Public License is Less protective of the
users' freedom, it does ensure that the user of a program that is
linked with the Library has the freedom and the wherewithal to run
that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and
modification follow. Pay close attention to the difference between a
"work based on the library" and a "work that uses the library". The
former contains code derived from the library, whereas the latter must
be combined with the library in order to run.
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
other authorized party saying it may be distributed under the terms of
this Lesser General Public License (also called "this License"). Each
licensee is addressed as "you".
this Lesser General Public License (also called "this License").
Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data
A "library" means a collection of software functions and/or data
prepared so as to be conveniently linked with application programs
(which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
The "Library", below, refers to any such software library or work
which has been distributed under these terms. A "work based on the
Library" means either the Library or any derivative work under
copyright law: that is to say, a work containing the Library or a
portion of it, either verbatim or with modifications and/or translated
straightforwardly into another language. (Hereinafter, translation is
straightforwardly into another language. (Hereinafter, translation is
included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
"Source code" for a work means the preferred form of the work for
making modifications to it. For a library, complete source code means
all the source code for all modules it contains, plus any associated
interface definition files, plus the scripts used to control
compilation and installation of the library. Activities other than
copying, distribution and modification are not covered by this
License; they are outside its scope. The act of running a program
using the Library is not restricted, and output from such a program is
covered only if its contents constitute a work based on the Library
(independent of the use of the Library in a tool for writing
it). Whether that is true depends on what the Library does and what
the program that uses the Library does.
interface definition files, plus the scripts used to control compilation
and installation of the library.
1. You may copy and distribute verbatim copies of the Library's
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of
running a program using the Library is not restricted, and output from
such a program is covered only if its contents constitute a work based
on the Library (independent of the use of the Library in a tool for
writing it). Whether that is true depends on what the Library does
and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's
complete source code as you receive it, in any medium, provided that
you conspicuously and appropriately publish on each copy an
appropriate copyright notice and disclaimer of warranty; keep intact
all the notices that refer to this License and to the absence of any
warranty; and distribute a copy of this License along with the
Library. You may charge a fee for the physical act of transferring a
copy, and you may at your option offer warranty protection in exchange
for a fee.
Library.
2. You may modify your copy or copies of the Library or any portion of
it, thus forming a work based on the Library, and copy and distribute
such modifications or work under the terms of Section 1 above,
provided that you also meet all of these conditions:
You may charge a fee for the physical act of transferring a copy,
and you may at your option offer warranty protection in exchange for a
fee.
a) The modified work must itself be a software library.
2. You may modify your copy or copies of the Library or any portion
of it, thus forming a work based on the Library, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
a) The modified work must itself be a software library.
c) You must cause the whole of the work to be licensed at no charge to
all third parties under the terms of this License.
b) You must cause the files modified to carry prominent notices
stating that you changed the files and the date of any change.
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses the
facility, other than as an argument passed when the facility is
invoked, then you must make a good faith effort to ensure that, in the
event an application does not supply such function or table, the
facility still operates, and performs whatever part of its purpose
remains meaningful. (For example, a function in a library to compute
square roots has a purpose that is entirely well-defined independent
of the application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must be
optional: if the application does not supply it, the square root
function must still compute square roots.)
c) You must cause the whole of the work to be licensed at no
charge to all third parties under the terms of this License.
These requirements apply to the modified work as a whole. If
d) If a facility in the modified Library refers to a function or a
table of data to be supplied by an application program that uses
the facility, other than as an argument passed when the facility
is invoked, then you must make a good faith effort to ensure that,
in the event an application does not supply such function or
table, the facility still operates, and performs whatever part of
its purpose remains meaningful.
(For example, a function in a library to compute square roots has
a purpose that is entirely well-defined independent of the
application. Therefore, Subsection 2d requires that any
application-supplied function or table used by this function must
be optional: if the application does not supply it, the square
root function must still compute square roots.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Library,
and can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based
on the Library, the distribution of the whole must be on the terms of
this License, whose permissions for other licensees extend to the
@@ -140,189 +208,191 @@ with the Library (or with a work based on the Library) on a volume of
a storage or distribution medium does not bring the other work under
the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
3. You may opt to apply the terms of the ordinary GNU General Public
License instead of this License to a given copy of the Library. To do
this, you must alter all the notices that refer to this License, so
that they refer to the ordinary GNU General Public License, version 2,
instead of to this License. (If a newer version than version 2 of the
instead of to this License. (If a newer version than version 2 of the
ordinary GNU General Public License has appeared, then you can specify
that version instead if you wish.) Do not make any other change in
that version instead if you wish.) Do not make any other change in
these notices.
Once this change is made in a given copy, it is irreversible for that
copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy. This
option is useful when you wish to copy part of the code of the Library
into a program that is not a library.
Once this change is made in a given copy, it is irreversible for
that copy, so the ordinary GNU General Public License applies to all
subsequent copies and derivative works made from that copy.
4. You may copy and distribute the Library (or a portion or derivative
of it, under Section 2) in object code or executable form under the
terms of Sections 1 and 2 above provided that you accompany it with
the complete corresponding machine- readable source code, which must
be distributed under the terms of Sections 1 and 2 above on a medium
customarily used for software interchange.
This option is useful when you wish to copy part of the code of
the Library into a program that is not a library.
If distribution of object code is made by offering access to copy from
a designated place, then offering equivalent access to copy the source
code from the same place satisfies the requirement to distribute the
source code, even though third parties are not compelled to copy the
source along with the object code.
4. You may copy and distribute the Library (or a portion or
derivative of it, under Section 2) in object code or executable form
under the terms of Sections 1 and 2 above provided that you accompany
it with the complete corresponding machine-readable source code, which
must be distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange.
5. A program that contains no derivative of any portion of the
If distribution of object code is made by offering access to copy
from a designated place, then offering equivalent access to copy the
source code from the same place satisfies the requirement to
distribute the source code, even though third parties are not
compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the
Library, but is designed to work with the Library by being compiled or
linked with it, is called a "work that uses the Library". Such a work,
in isolation, is not a derivative work of the Library, and therefore
falls outside the scope of this License.
linked with it, is called a "work that uses the Library". Such a
work, in isolation, is not a derivative work of the Library, and
therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library
However, linking a "work that uses the Library" with the Library
creates an executable that is a derivative of the Library (because it
contains portions of the Library), rather than a "work that uses the
library". The executable is therefore covered by this License. Section
6 states terms for distribution of such executables.
library". The executable is therefore covered by this License.
Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file
When a "work that uses the Library" uses material from a header file
that is part of the Library, the object code for the work may be a
derivative work of the Library even though the source code is
not. Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
derivative work of the Library even though the source code is not.
Whether this is true is especially significant if the work can be
linked without the Library, or if the work is itself a library. The
threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data structure
layouts and accessors, and small macros and small inline functions
(ten lines or less in length), then the use of the object file is
unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under section 6.)
If such an object file uses only numerical parameters, data
structure layouts and accessors, and small macros and small inline
functions (ten lines or less in length), then the use of the object
file is unrestricted, regardless of whether it is legally a derivative
work. (Executables containing this object code plus portions of the
Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section
6. Any executables containing that work also fall under Section 6,
Otherwise, if the work is a derivative of the Library, you may
distribute the object code for the work under the terms of Section 6.
Any executables containing that work also fall under Section 6,
whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or link
a "work that uses the Library" with the Library to produce a work
containing portions of the Library, and distribute that work under
terms of your choice, provided that the terms permit modification of
the work for the customer's own use and reverse engineering for
debugging such modifications.
6. As an exception to the Sections above, you may also combine or
link a "work that uses the Library" with the Library to produce a
work containing portions of the Library, and distribute that work
under terms of your choice, provided that the terms permit
modification of the work for the customer's own use and reverse
engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the
You must give prominent notice with each copy of the work that the
Library is used in it and that the Library and its use are covered by
this License. You must supply a copy of this License. If the work
this License. You must supply a copy of this License. If the work
during execution displays copyright notices, you must include the
copyright notice for the Library among them, as well as a reference
directing the user to the copy of this License. Also, you must do one
directing the user to the copy of this License. Also, you must do one
of these things:
a) Accompany the work with the complete corresponding machine-readable
source code for the Library including whatever changes were used in
the work (which must be distributed under Sections 1 and 2 above);
and, if the work is an executable liked with the Library, with the
complete machine-readable "work that uses the Library", as object code
and/or source code, so that the user can modify the Library and then
relink to produce a modified executable containing the modified
Library. (It is understood that the user who changes the contents of
definitions files in the Library will not necessarily be able to
recompile the application to use the modified definitions.)
a) Accompany the work with the complete corresponding
machine-readable source code for the Library including whatever
changes were used in the work (which must be distributed under
Sections 1 and 2 above); and, if the work is an executable linked
with the Library, with the complete machine-readable "work that
uses the Library", as object code and/or source code, so that the
user can modify the Library and then relink to produce a modified
executable containing the modified Library. (It is understood
that the user who changes the contents of definitions files in the
Library will not necessarily be able to recompile the application
to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a copy
of the library already present on the user's computer system, rather
than copying library functions into the executable, and (2) will
operate properly with a modified version of the library, if the user
installs one, as long as the modified version is interface- compatible
with the version that the work was made with.
b) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (1) uses at run time a
copy of the library already present on the user's computer system,
rather than copying library functions into the executable, and (2)
will operate properly with a modified version of the library, if
the user installs one, as long as the modified version is
interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at least three
years, to give the same user the materials specified in Subsection 6a,
above, for a charge no more than the cost of performing this
distribution.
c) Accompany the work with a written offer, valid for at
least three years, to give the same user the materials
specified in Subsection 6a, above, for a charge no more
than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy from
a designated place, offer equivalent access to copy the above
specified materials from the same place.
d) If distribution of the work is made by offering access to copy
from a designated place, offer equivalent access to copy the above
specified materials from the same place.
e) Verify that the user has already received a copy of these materials
or that you have already sent this user a copy.
e) Verify that the user has already received a copy of these
materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the
For an executable, the required form of the "work that uses the
Library" must include any data and utility programs needed for
reproducing the executable from it. However, as a special exception,
reproducing the executable from it. However, as a special exception,
the materials to be distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies
the executable.
It may happen that this requirement contradicts the license
restrictions of other propriety libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
It may happen that this requirement contradicts the license
restrictions of other proprietary libraries that do not normally
accompany the operating system. Such a contradiction means you cannot
use both them and the Library together in an executable that you
distribute.
7. You may place library facilities that are a work based on the
7. You may place library facilities that are a work based on the
Library side-by-side in a single library together with other library
facilities not covered by this License, and distribute such a combined
library, provided that the separate distribution of the work based on
the Library and of the other library facilities is otherwise
permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities. This
must be distributed under the terms of the Sections above.
a) Accompany the combined library with a copy of the same work
based on the Library, uncombined with any other library
facilities. This must be distributed under the terms of the
Sections above.
b) Give prominent notice with the combined library of the fact that
part of it is a work based on the Library, and explaining where to
find the accompanying uncombined form of the same work.
b) Give prominent notice with the combined library of the fact
that part of it is a work based on the Library, and explaining
where to find the accompanying uncombined form of the same work.
1 You may not copy, modify, sublicense, link with, or distribute the
Library except as expressly provided under this License. Any attempt
otherwise to copy, modify, sublicense, link with, or distribute the
Library is void, and will automatically terminate your rights under
this License. However, parties who have received copies, or rights,
from you under this License will not have their licenses terminated so
long as such parties remain in full compliance.
8. You may not copy, modify, sublicense, link with, or distribute
the Library except as expressly provided under this License. Any
attempt otherwise to copy, modify, sublicense, link with, or
distribute the Library is void, and will automatically terminate your
rights under this License. However, parties who have received copies,
or rights, from you under this License will not have their licenses
terminated so long as such parties remain in full compliance.
2 You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
9. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Library or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Library (or any work based on the
Library), you indicate your acceptance of this License to do so, and
all its terms and conditions for copying, distributing or modifying
the Library or works based on it.
3 Each time you redistribute the Library (or any work based on the
10. Each time you redistribute the Library (or any work based on the
Library), the recipient automatically receives a license from the
original licensor to copy, distribute, link with or modify the Library
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted
herein. You are not responsible for enforcing compliance by third
parties with this License.
subject to these terms and conditions. You may not impose any further
restrictions on the recipients' exercise of the rights granted herein.
You are not responsible for enforcing compliance by third parties with
this License.
4 If, as a consequence of a court judgment or allegation of patent
11. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot
excuse you from the conditions of this License. If you cannot
distribute so as to satisfy simultaneously your obligations under this
License and any other pertinent obligations, then as a consequence you
may not distribute the Library at all. For example, if a patent
may not distribute the Library at all. For example, if a patent
license would not permit royalty-free redistribution of the Library by
all those who receive copies directly or indirectly through you, then
the only way you could satisfy both it and this License would be to
refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under
any particular circumstance, the balance of the section is intended to
apply, and the section as a whole is intended to apply in other
circumstances.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply,
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any
patents or other property right claims or to contest validity of any
such claims; this section has the sole purpose of protecting the
integrity of the free software distribution system which is
implemented by public license practices. Many people have made
implemented by public license practices. Many people have made
generous contributions to the wide range of software distributed
through that system in reliance on consistent application of that
system; it is up to the author/donor to decide if he or she is willing
@@ -332,56 +402,102 @@ impose that choice.
This section is intended to make thoroughly clear what is believed to
be a consequence of the rest of this License.
1 If the distribution and/or use of the Library is restricted in
12. If the distribution and/or use of the Library is restricted in
certain countries either by patents or by copyrighted interfaces, the
original copyright holder who places the Library under this License
may add an explicit geographical distribution limitation excluding
those countries, so that distribution is permitted only in or among
countries not thus excluded. In such case, this License incorporates
the limitation as if written in the body of this License.
original copyright holder who places the Library under this License may add
an explicit geographical distribution limitation excluding those countries,
so that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time. Such
new versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
13. The Free Software Foundation may publish revised and/or new
versions of the Lesser General Public License from time to time.
Such new versions will be similar in spirit to the present version,
but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library
Each version is given a distinguishing version number. If the Library
specifies a version number of this License which applies to it and
"any later version", you have the option of following the terms and
conditions either of that version or of any later version published by
the Free Software Foundation. If the Library does not specify a
the Free Software Foundation. If the Library does not specify a
license version number, you may choose any version ever published by
the Free Software Foundation.
2 If you wish to incorporate parts of the Library into other free
14. If you wish to incorporate parts of the Library into other free
programs whose distribution conditions are incompatible with these,
write to the author to ask for permission. For software which is
write to the author to ask for permission. For software which is
copyrighted by the Free Software Foundation, write to the Free
Software Foundation; we sometimes make exceptions for this. Our
Software Foundation; we sometimes make exceptions for this. Our
decision will be guided by the two goals of preserving the free status
of all derivatives of our free software and of promoting the sharing
and reuse of software generally.
NO WARRANTY
NO WARRANTY
1 BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER
PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
2 IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE
LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL
OR CONSQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest
possible use to the public, we recommend making it free software that
everyone can redistribute and change. You can do so by permitting
redistribution under these terms (or, alternatively, under the terms of the
ordinary General Public License).
To apply these terms, attach the following notices to the library. It is
safest to attach them to the start of each source file to most effectively
convey the exclusion of warranty; and each file should have at least the
"copyright" line and a pointer to where the full notice is found.
<one line to give the library's name and a brief idea of what it does.>
Copyright (C) <year> <name of author>
This library 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; either
version 2.1 of the License, or (at your option) any later version.
This library 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 GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with this library; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your
school, if any, to sign a "copyright disclaimer" for the library, if
necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in the
library `Frob' (a library for tweaking knobs) written by James Random Hacker.
<signature of Ty Coon>, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

32
NOTICE Normal file
View File

@@ -0,0 +1,32 @@
########################################################################
LLNL NOTICE AND TERMS AND CONDITIONS OF THE GNU LGPL
########################################################################
LLNL Preamble Notice
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.
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.
See the LICENSE file for the precise terms and conditions for copying,
distribution and modification.
########################################################################

119
README.md
View File

@@ -1,36 +1,48 @@
Spack
===========
# <img src="https://cdn.rawgit.com/spack/spack/develop/share/spack/logo/spack-logo.svg" width="64" valign="middle" alt="Spack"/> Spack
Spack is a package management tool designed to support multiple
versions and configurations of software on a wide variety of platforms
and environments. It was designed for large supercomputing centers,
where many users and application teams share common installations of
software on clusters with exotic architectures, using libraries that
do not have a standard ABI. Spack is non-destructive: installing a new
version does not break existing installations, so many configurations
can coexist on the same system.
[![Build Status](https://travis-ci.org/spack/spack.svg?branch=develop)](https://travis-ci.org/spack/spack)
[![codecov](https://codecov.io/gh/spack/spack/branch/develop/graph/badge.svg)](https://codecov.io/gh/spack/spack)
[![Read the Docs](https://readthedocs.org/projects/spack/badge/?version=latest)](https://spack.readthedocs.io)
[![Slack](https://spackpm.herokuapp.com/badge.svg)](https://spackpm.herokuapp.com)
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.
Spack is a multi-platform package manager that builds and installs
multiple versions and configurations of software. It works on Linux,
macOS, and many supercomputers. Spack is non-destructive: installing a
new version of a package does not break existing installations, so many
configurations of the same package can coexist.
Spack offers a simple "spec" syntax that allows users to specify versions
and configuration options. Package files are written in pure Python, and
specs allow package authors to write a single script for many different
builds of the same package. With Spack, you can build your software
*all* the ways you want to.
See the
[Feature Overview](http://scalability-llnl.github.io/spack/features.html)
[Feature Overview](http://spack.readthedocs.io/en/latest/features.html)
for examples and highlights.
To install spack and install your first package:
To install spack and your first package, make sure you have Python.
Then:
$ git clone https://github.com/scalability-llnl/spack.git
$ git clone https://github.com/spack/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://spack.readthedocs.io/) for Spack is
the first place to look.
Try the
[**Spack Tutorial**](http://spack.readthedocs.io/en/latest/tutorial.html),
to learn how to use spack, write packages, or deploy packages for users
at your site.
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!
------------------------
@@ -41,48 +53,59 @@ 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 currently using LLNL's old-fashioned
mailing list software, so you'll need to click the links below and
send the resulting email to subscribe or unsubscribe:
If you are interested in contributing to spack, join the mailing list.
We're using Google Groups for this:
* **[Subscribe](mailto:majordomo@lists.llnl.gov?subject=subscribe&body=subscribe%20spack)**
* **[Unsubscribe](mailto:majordomo@lists.llnl.gov?subject=unsubscribe&body=unsubscribe%20spack)**
* [Spack Google Group](https://groups.google.com/d/forum/spack)
### Slack channel
Spack has a Slack channel where you can chat about all things Spack:
* [Spack on Slack](https://spackpm.slack.com)
[Sign up here](https://spackpm.herokuapp.com) to get an invitation mailed
to you.
### Contributions
At the moment, contributing to Spack is relatively simple. Just send us
a [pull request](https://help.github.com/articles/using-pull-requests/).
When you send your request, make ``develop`` the destination branch.
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/spack/spack).
Spack is using a rough approximation of the [Git
Flow](http://nvie.com/posts/a-successful-git-branching-model/)
Your PR must pass Spack's unit tests and documentation tests, and must be
[PEP 8](https://www.python.org/dev/peps/pep-0008/) compliant. We enforce
these guidelines with [Travis CI](https://travis-ci.org/spack/spack). To
run these tests locally, and for helpful tips on git, see our
[Contribution Guide](http://spack.readthedocs.io/en/latest/contribution_guide.html).
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.
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/spack/spack/graphs/contributors).
Significant contributions were also made by:
Spack was created 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
----------------
Spack is released under an LGPL license. For more details see the
LICENSE file.
NOTICE and LICENSE files.
``LLNL-CODE-647188``
![Analytics](https://ga-beacon.appspot.com/UA-101208306-3/welcome-page?pixel)

132
bin/sbang Executable file
View File

@@ -0,0 +1,132 @@
#!/bin/bash
##############################################################################
# Copyright (c) 2013-2017, 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/spack/spack
# Please also see the NOTICE and LICENSE files 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" = '//!'*node* ]]; then
interpreter="${line#//!}"
elif [[ "$line" = '--!'*lua* ]]; then
interpreter="${line#--!}"
fi
lines=$((lines+1))
done < "$script"
# this is ineeded for scripts with sbang parameter
# like ones in intltool
# #!/<spack-long-path>/perl -w
# this is the interpreter line with all the parameters as a vector
interpreter_v=(${interpreter})
# this is the single interpreter path
interpreter_f="${interpreter_v[0]}"
# Invoke any interpreter found, or raise an error if none was found.
if [[ -n "$interpreter_f" ]]; then
if [[ "${interpreter_f##*/}" = "perl" ]]; then
exec $interpreter_v -x "$@"
else
exec $interpreter_v "$@"
fi
else
echo "error: sbang found no interpreter in $script"
exit 1
fi

182
bin/spack
View File

@@ -1,149 +1,81 @@
#!/usr/bin/env python
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2017, 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
# Please also see the LICENSE file for our notice and the LGPL.
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files 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):
v_info = sys.version_info[:3]
sys.exit("Spack requires Python 2.6 or higher. This is Python %d.%d.%d." % v_info)
from __future__ import print_function
import os
import sys
if 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)
# Find spack's location and its prefix.
SPACK_FILE = os.path.realpath(os.path.expanduser(__file__))
os.environ["SPACK_FILE"] = SPACK_FILE
SPACK_PREFIX = os.path.dirname(os.path.dirname(SPACK_FILE))
spack_file = os.path.realpath(os.path.expanduser(__file__))
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_lib_path = os.path.join(spack_prefix, "lib", "spack")
sys.path.insert(0, spack_lib_path)
# If there is no working directory, use the spack prefix.
try:
working_dir = os.getcwd()
except OSError:
os.chdir(SPACK_PREFIX)
working_dir = SPACK_PREFIX
# Add external libs
spack_external_libs = os.path.join(spack_lib_path, "external")
sys.path.insert(0, spack_external_libs)
# 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
# Command parsing
parser = argparse.ArgumentParser(
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('-k', '--insecure', action='store_true',
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.
subparsers = parser.add_subparsers(metavar='SUBCOMMAND', dest="command")
import spack.cmd
for cmd in spack.cmd.commands:
module = spack.cmd.get_module(cmd)
subparser = subparsers.add_parser(cmd, help=module.description)
module.setup_parser(subparser)
# Just print help and exit if run with no arguments at all
if len(sys.argv) == 1:
parser.print_help()
sys.exit(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
spack.spack_working_dir = working_dir
if args.mock:
from spack.packages import PackageDB
spack.db = PackageDB(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.")
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 KeyboardInterrupt:
sys.stderr.write('\n')
tty.die("Keyboard interrupt.")
# Allow commands to return values if they want to exit with some ohter 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))
if args.profile:
import cProfile
cProfile.run('main()', sort='tottime')
# Handle vendoring of YAML specially, as it has two versions.
if sys.version_info[0] == 2:
spack_yaml_libs = os.path.join(spack_external_libs, "yaml/lib")
else:
main()
spack_yaml_libs = os.path.join(spack_external_libs, "yaml/lib3")
sys.path.insert(0, spack_yaml_libs)
# 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, 'functools.pyc'),
os.path.join(spack_external_libs, 'ordereddict.pyc'),
os.path.join(spack_lib_path, 'spack', 'platforms', 'cray_xc.pyc'),
os.path.join(spack_lib_path, 'spack', 'cmd', 'package-list.pyc'),
os.path.join(spack_lib_path, 'spack', 'cmd', 'test-install.pyc'),
os.path.join(spack_lib_path, 'spack', 'cmd', 'url-parse.pyc'),
os.path.join(spack_lib_path, 'spack', 'test', 'yaml.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)
# Once we've set up the system path, run the spack main method
import spack.main # noqa
sys.exit(spack.main.main())

View File

@@ -1,27 +1,27 @@
#!/bin/sh
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2017, 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
# Please also see the LICENSE file for our notice and the LGPL.
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files 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,77 @@
# -------------------------------------------------------------------------
# This is the default spack configuration file.
#
# 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/config.yaml
#
# Per-user settings (overrides default and site settings):
# ~/.spack/config.yaml
# -------------------------------------------------------------------------
config:
# This is the path to the root of the Spack install tree.
# You can use $spack here to refer to the root of the spack instance.
install_tree: $spack/opt/spack
# Locations where templates should be found
template_dirs:
- $spack/templates
# Locations where different types of modules should be installed.
module_roots:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
dotkit: $spack/share/spack/dotkit
# Temporary locations Spack can try to use for builds.
#
# Spack will use the first one it finds that exists and is writable.
# You can use $tempdir to refer to the system default temp directory
# (as returned by tempfile.gettempdir()).
#
# A value of $spack/var/spack/stage indicates that Spack should run
# builds directly inside its install directory without staging them in
# temporary space.
#
# The build stage can be purged with `spack purge --stage`.
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $spack/var/spack/stage
# Cache directory already downloaded source tarballs and archived
# repositories. This can be purged with `spack purge --downloads`.
source_cache: $spack/var/spack/cache
# Cache directory for miscellaneous files, like the package index.
# This can be purged with `spack purge --misc-cache`
misc_cache: ~/.spack/cache
# If this is false, tools like curl that use SSL will not verify
# certifiates. (e.g., curl will use use the -k option)
verify_ssl: true
# If set to true, Spack will always check checksums after downloading
# archives. If false, Spack skips the checksum step.
checksum: true
# If set to true, `spack install` and friends will NOT clean
# potentially harmful variables from the build environment. Use wisely.
dirty: false
# The default number of jobs to use when running `make` in parallel.
# If set to 4, for example, `spack install` will run `make -j4`.
# If not set, all available cores are used by default.
# build_jobs: 4

View File

@@ -0,0 +1,18 @@
# -------------------------------------------------------------------------
# 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:
compiler: [clang, gcc, intel]

View File

@@ -0,0 +1,46 @@
# -------------------------------------------------------------------------
# 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
share/aclocal:
- ACLOCAL_PATH
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
lmod:
hierarchy:
- mpi

View File

@@ -0,0 +1,37 @@
# -------------------------------------------------------------------------
# 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:
compiler: [gcc, intel, pgi, clang, xl, nag]
providers:
awk: [gawk]
blas: [openblas]
daal: [intel-daal]
elf: [elfutils]
golang: [gcc]
ipp: [intel-ipp]
java: [jdk]
lapack: [openblas]
mkl: [intel-mkl]
mpe: [mpe2]
mpi: [openmpi, mpich]
opencl: [pocl]
openfoam: [openfoam-com, openfoam-org, foam-extend]
pil: [py-pillow]
scalapack: [netlib-scalapack]
szip: [libszip, libaec]
tbb: [intel-tbb]
jpeg: [libjpeg-turbo, libjpeg]

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

@@ -1,4 +1,5 @@
package_list.rst
command_index.rst
spack*.rst
llnl*.rst
_build

View File

@@ -2,13 +2,13 @@
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXOPTS = -E
SPHINXBUILD = sphinx-build
PAPER =
BUILDDIR = _build
export PYTHONPATH = ../../spack
APIDOC_FILES = spack*.rst
export PYTHONPATH := ../../spack:$(PYTHONPATH)
APIDOC_FILES = spack*.rst llnl*.rst
# Internal variables.
PAPEROPT_a4 = -D latex_paper_size=a4
@@ -21,24 +21,6 @@ I18NSPHINXOPTS = $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
all: html
#
# This autogenerates a package list.
#
package_list:
spack package-list > package_list.rst
#
# Generate a command index
#
command_index:
cp command_index.in command_index.rst
echo >> command_index.rst
grep -ho '.. _spack-.*:' *rst \
| perl -pe 's/.. _([^:]*):/ * :ref:`\1`/' \
| sort >> command_index.rst
custom_targets: package_list command_index
#
# This creates a git repository and commits generated html docs.
# It them pushes the new branch into THIS repository as gh-pages.
@@ -58,13 +40,25 @@ gh-pages: _build/html
git push -f $$root master:gh-pages && \
rm -rf .git
# This version makes gh-pages into a single page that redirects
# to spack.readthedocs.io
gh-pages-redirect:
root="$$(git rev-parse --show-toplevel)" && \
cd _gh_pages_redirect && \
rm -rf .git && \
git init && \
git add . && \
git commit -m "Spack Documentation" && \
git push -f $$root master:gh-pages && \
rm -rf .git
upload:
rsync -avz --rsh=ssh --delete _build/html/ cab:/usr/global/web-pages/lc/www/adept/docs/spack
git push -f origin gh-pages
git push -f github gh-pages
apidoc:
sphinx-apidoc -T -o . $(PYTHONPATH)/spack
sphinx-apidoc -f -T -o . ../spack
sphinx-apidoc -f -T -o . ../llnl
help:
@echo "Please use \`make <target>' where <target> is one of"
@@ -92,7 +86,7 @@ clean:
-rm -f package_list.rst command_index.rst
-rm -rf $(BUILDDIR)/* $(APIDOC_FILES)
html: apidoc custom_targets
html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/html
@echo
@echo "Build finished. The HTML pages are in $(BUILDDIR)/html."

View File

@@ -0,0 +1,10 @@
<html>
<head>
<meta http-equiv="refresh" content="0; url=http://spack.readthedocs.io/" />
</head>
<body>
<p>
This page has moved to <a href="http://spack.readthedocs.io/">http://spack.readthedocs.io/</a>
</p>
</body>
</html>

View File

@@ -22,7 +22,12 @@
{%- endif %}
{%- endif %}
<br/>
Written by Todd Gamblin (<a href="mailto:tgamblin@llnl.gov">tgamblin@llnl.gov</a>) and
many <a href="https://github.com/spack/spack/graphs/contributors">contributors.</a> LLNL-CODE-647188.
{%- if last_updated %}
<br/>
{% trans last_updated=last_updated|e %}Last updated on {{ last_updated }}.{% endtrans %}
{%- endif %}
</p>
@@ -33,4 +38,3 @@
{%- endif %}
</footer>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,132 @@
.. _binary_caches:
============
Build caches
============
Some sites may encourage users to set up their own test environments
before carrying out central installations, or some users may prefer to set
up these environments on their own motivation. To reduce the load of
recompiling otherwise identical package specs in different installations,
installed packages can be put into build cache tarballs, uploaded to
your Spack mirror and then downloaded and installed by others.
--------------------------
Creating build cache files
--------------------------
A compressed tarball of an installed package is created. Tarballs are created
for all of its link and run dependency packages as well. Compressed tarballs are
signed with gpg and signature and tarball and put in a ``.spack`` file. Optionally,
the rpaths (and ids and deps on macOS) can be changed to paths relative to
the Spack install tree before the tarball is created.
Build caches are created via:
.. code-block:: console
$ spack buildcache create spec
---------------------------------------
Finding or installing build cache files
---------------------------------------
To find build caches or install build caches, a Spack mirror must be configured
with:
.. code-block:: console
$ spack mirror add <name> <url>
Build caches are found via:
.. code-block:: console
$ spack buildcache list
Build caches are installed via:
.. code-block:: console
$ spack buildcache install
----------
Relocation
----------
Initial build and later installation do not necessarily happen at the same
location. Spack provides a relocation capability and corrects for RPATHs and
non-relocatable scripts. However, many packages compile paths into binary
artifacts directly. In such cases, the build instructions of this package would
need to be adjusted for better re-locatability.
.. _cmd-spack-buildcache:
--------------------
``spack buildcache``
--------------------
^^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack buildcache create``
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Create tarball of installed Spack package and all dependencies.
Tarballs are checksummed and signed if gpg2 is available.
Places them in a directory ``build_cache`` that can be copied to a mirror.
Commands like ``spack buildcache install`` will search Spack mirrors for build_cache to get the list of build caches.
============== ========================================================================================================================
Arguments Description
============== ========================================================================================================================
``<specs>`` list of partial specs or hashes with a leading ``/`` to match from installed packages and used for creating build caches
``-d <path>`` directory in which ``build_cache`` directory is created, defaults to ``.``
``-f`` overwrite ``.spack`` file in ``build_cache`` directory if it exists
``-k <key>`` the key to sign package with. In the case where multiple keys exist, the package will be unsigned unless ``-k`` is used.
``-r`` make paths in binaries relative before creating tarball
``-y`` answer yes to all create unsigned ``build_cache`` questions
============== ========================================================================================================================
^^^^^^^^^^^^^^^^^^^^^^^^^
``spack buildcache list``
^^^^^^^^^^^^^^^^^^^^^^^^^
Retrieves all specs for build caches available on a Spack mirror.
============== =====================================================================================
Arguments Description
============== =====================================================================================
``<specs>`` list of partial package specs to be matched against specs downloaded for build caches
============== =====================================================================================
E.g. ``spack buildcache list gcc`` with print only commands to install ``gcc`` package(s)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
``spack buildcache install``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Retrieves all specs for build caches available on a Spack mirror and installs build caches
with specs matching the specs input.
============== ==============================================================================================
Arguments Description
============== ==============================================================================================
``<specs>`` list of partial package specs or hashes with a leading ``/`` to be installed from build caches
``-f`` remove install directory if it exists before unpacking tarball
``-y`` answer yes to all to don't verify package with gpg questions
============== ==============================================================================================
^^^^^^^^^^^^^^^^^^^^^^^^^
``spack buildcache keys``
^^^^^^^^^^^^^^^^^^^^^^^^^
List public keys available on Spack mirror.
========= ==============================================
Arguments Description
========= ==============================================
``-i`` trust the keys downloaded with prompt for each
``-y`` answer yes to all trust all keys downloaded
========= ==============================================

View File

@@ -0,0 +1,168 @@
.. _build-settings:
======================================
Build customization
======================================
Spack allows you to customize how your software is built through the
``packages.yaml`` file. Using it, you can make Spack prefer particular
implementations of virtual dependencies (e.g., compilers, MPI, or BLAS),
or you can make it prefer to build with particular compilers. You can
also tell Spack to use *external* installations of certain software.
At a high level, the ``packages.yaml`` file is structured like this:
.. code-block:: yaml
packages:
package1:
# settings for package1
package2:
# settings for package2
# ...
all:
# settings that apply to all packages.
So you can either set build preferences *specifically* for one package,
or you can specify that certain settings should apply to all packages.
The types of settings you can customize are described in detail below.
Spack's build defaults are in the default
``etc/spack/defaults/packages.yaml`` file. You can override them in
``~/.spack/packages.yaml`` or ``etc/spack/packages.yaml``. For more
details on how this works, see :ref:`configuration-scopes`
.. _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 compiler listed in an external should
have entries in Spack's packages and compiler configuration, even
though the package and compiler may not ever 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:
--------------------------
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:: yaml
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.

View File

@@ -1,7 +1,6 @@
.. _command_index:
Command index
=================
=============
Command Index
=============
This is an alphabetical list of commands with links to the places they
appear in the documentation.

View File

@@ -1,26 +1,27 @@
# flake8: noqa
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2017, 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
# Please also see the LICENSE file for our notice and the LGPL.
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files 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
##############################################################################
# -*- coding: utf-8 -*-
#
@@ -37,28 +38,112 @@
import sys
import os
import re
import shutil
import subprocess
from glob import glob
from sphinx.apidoc import main as sphinx_apidoc
# -- Spack customizations -----------------------------------------------------
# If extensions (or modules to document with autodoc) are in another directory,
# 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'))
if sys.version_info[0] < 3:
sys.path.insert(0, os.path.abspath('../external/yaml/lib'))
else:
sys.path.insert(0, os.path.abspath('../external/yaml/lib3'))
sys.path.append(os.path.abspath('..'))
# Add the Spack bin directory to the path so that we can use its output in docs.
spack_root = '../../..'
os.environ['SPACK_ROOT'] = spack_root
os.environ['PATH'] += os.pathsep + '$SPACK_ROOT/bin'
spack_version = subprocess.Popen(
['spack', '-V'], stderr=subprocess.PIPE).communicate()[1].strip().split('.')
os.environ['PATH'] += '%s%s/bin' % (os.pathsep, spack_root)
# Set an environment variable so that colify will print output like it would to
# a terminal.
os.environ['COLIFY_SIZE'] = '25x80'
os.environ['COLIFY_SIZE'] = '25x120'
#
# Generate package list using spack command
#
with open('package_list.rst', 'w') as plist_file:
subprocess.Popen(
[spack_root + '/bin/spack', 'list', '--format=rst'], stdout=plist_file)
#
# Find all the `cmd-spack-*` references and add them to a command index
#
command_names = []
for filename in glob('*rst'):
with open(filename) as f:
for line in f:
match = re.match('.. _(cmd-spack-.*):', line)
if match:
command_names.append(match.group(1).strip())
shutil.copy('command_index.in', 'command_index.rst')
with open('command_index.rst', 'a') as index:
index.write('\n')
for cmd in sorted(command_names):
index.write(' * :ref:`%s`\n' % cmd)
#
# Run sphinx-apidoc
#
# Remove any previous API docs
# Read the Docs doesn't clean up after previous builds
# Without this, the API Docs will never actually update
#
apidoc_args = [
'--force', # Older versions of Sphinx ignore the first argument
'--force', # Overwrite existing files
'--no-toc', # Don't create a table of contents file
'--output-dir=.', # Directory to place all output
]
sphinx_apidoc(apidoc_args + ['../spack'])
sphinx_apidoc(apidoc_args + ['../llnl'])
#
# Exclude everything in spack.__all__ from indexing. All of these
# symbols are imported from elsewhere in spack; their inclusion in
# __all__ simply allows package authors to use `from spack import *`.
# Excluding them ensures they're only documented in their "real" module.
#
# This also avoids issues where some of these symbols shadow core spack
# modules. Sphinx will complain about duplicate docs when this happens.
#
import fileinput, spack
handling_spack = False
for line in fileinput.input('spack.rst', inplace=1):
if handling_spack:
if not line.startswith(' :noindex:'):
print(' :noindex: %s' % ' '.join(spack.__all__))
handling_spack = False
if line.startswith('.. automodule::'):
handling_spack = (line == '.. automodule:: spack\n')
sys.stdout.write(line)
# Enable todo items
todo_include_todos = True
#
# Disable duplicate cross-reference warnings.
#
from sphinx.domains.python import PythonDomain
class PatchedPythonDomain(PythonDomain):
def resolve_xref(self, env, fromdocname, builder, typ, target, node, contnode):
if 'refspecific' in node:
del node['refspecific']
return super(PatchedPythonDomain, self).resolve_xref(
env, fromdocname, builder, typ, target, node, contnode)
def setup(sphinx):
sphinx.override_domain(PatchedPythonDomain)
# -- General configuration -----------------------------------------------------
# If your documentation needs a minimal Sphinx version, state it here.
@@ -68,6 +153,7 @@
# coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
extensions = ['sphinx.ext.autodoc',
'sphinx.ext.graphviz',
'sphinx.ext.napoleon',
'sphinx.ext.todo',
'sphinxcontrib.programoutput']
@@ -94,16 +180,16 @@
# General information about the project.
project = u'Spack'
copyright = u'2013-2014, Lawrence Livermore National Laboratory'
copyright = u'2013-2017, 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
# built documents.
#
# The short X.Y version.
version = '.'.join(spack_version[:2])
version = str(spack.spack_version.up_to(2))
# The full version, including alpha/beta/rc tags.
release = '.'.join(spack_version[:2])
release = str(spack.spack_version.up_to(2))
# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
@@ -149,7 +235,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 = [('show_copyright', False)]
html_theme_options = { 'logo_only' : True }
# Add any paths that contain custom themes here, relative to this directory.
html_theme_path = ["_themes"]
@@ -163,12 +249,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.svg'
# 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 +289,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,182 @@
.. _config-yaml:
====================================
Basic settings in ``config.yaml``
====================================
Spack's basic configuration options are set in ``config.yaml``. You can
see the default settings by looking at
``etc/spack/defaults/config.yaml``:
.. literalinclude:: ../../../etc/spack/defaults/config.yaml
:language: yaml
These settings can be overridden in ``etc/spack/config.yaml`` or
``~/.spack/config.yaml``. See :ref:`configuration-scopes` for details.
--------------------
``install_tree``
--------------------
The location where Spack will install packages and their dependencies.
Default is ``$spack/opt/spack``.
---------------------------------------------------
``install_hash_length`` and ``install_path_scheme``
---------------------------------------------------
The default Spack installation path can be very long and can create
problems for scripts with hardcoded shebangs. There are two parameters
to help with that. Firstly, the ``install_hash_length`` parameter can
set the length of the hash in the installation path from 1 to 32. The
default path uses the full 32 characters.
Secondly, it is
also possible to modify the entire installation scheme. By default
Spack uses
``${ARCHITECTURE}/${COMPILERNAME}-${COMPILERVER}/${PACKAGE}-${VERSION}-${HASH}``
where the tokens that are available for use in this directive are the
same as those understood by the ``Spec.format`` method. Using this parameter it
is possible to use a different package layout or reduce the depth of
the installation paths. For example
.. code-block:: yaml
config:
install_path_scheme: '${PACKAGE}/${VERSION}/${HASH:7}'
would install packages into sub-directories using only the package
name, version and a hash length of 7 characters.
When using either parameter to set the hash length it only affects the
representation of the hash in the installation directory. You
should be aware that the smaller the hash length the more likely
naming conflicts will occur. These parameters are independent of those
used to configure module names.
.. warning:: Modifying the installation hash length or path scheme after
packages have been installed will prevent Spack from being
able to find the old installation directories.
--------------------
``module_roots``
--------------------
Controls where Spack installs generated module files. You can customize
the location for each type of module. e.g.:
.. code-block:: yaml
module_roots:
tcl: $spack/share/spack/modules
lmod: $spack/share/spack/lmod
dotkit: $spack/share/spack/dotkit
See :ref:`modules` for details.
--------------------
``build_stage``
--------------------
Spack is designed to run out of a user home directory, and on many
systems the home directory is a (slow) network filesystem. On most systems,
building in a temporary filesystem results in faster builds than building
in the home directory. Usually, there is also more space available in
the temporary location than in the home directory. So, Spack tries to
create build stages in temporary space.
By default, Spack's ``build_stage`` is configured like this:
.. code-block:: yaml
build_stage:
- $tempdir
- /nfs/tmp2/$user
- $spack/var/spack/stage
This is an ordered list of paths that Spack should search when trying to
find a temporary directory for the build stage. The list is searched in
order, and Spack will use the first directory to which it has write access.
See :ref:`config-file-variables` for more on ``$tempdir`` and ``$spack``.
When Spack builds a package, it creates a temporary directory within the
``build_stage``, and it creates a symbolic link to that directory in
``$spack/var/spack/stage``. This is used to track the stage.
After a package is successfully installed, Spack deletes the temporary
directory it used to build. Unsuccessful builds are not deleted, but you
can manually purge them with :ref:`spack clean --stage
<cmd-spack-clean>`.
.. note::
The last item in the list is ``$spack/var/spack/stage``. If this is the
only writable directory in the ``build_stage`` list, Spack will build
*directly* in ``$spack/var/spack/stage`` and will not link to temporary
space.
--------------------
``source_cache``
--------------------
Location to cache downloaded tarballs and repositories. By default these
are stored in ``$spack/var/spack/cache``. These are stored indefinitely
by default. Can be purged with :ref:`spack clean --downloads
<cmd-spack-clean>`.
--------------------
``misc_cache``
--------------------
Temporary directory to store long-lived cache files, such as indices of
packages available in repositories. Defaults to ``~/.spack/cache``. Can
be purged with :ref:`spack clean --misc-cache <cmd-spack-clean>`.
--------------------
``verify_ssl``
--------------------
When set to ``true`` (default) Spack will verify certificates of remote
hosts when making ``ssl`` connections. Set to ``false`` to disable, and
tools like ``curl`` will use their ``--insecure`` options. Disabling
this can expose you to attacks. Use at your own risk.
--------------------
``checksum``
--------------------
When set to ``true``, Spack verifies downloaded source code using a
checksum, and will refuse to build packages that it cannot verify. Set
to ``false`` to disable these checks. Disabling this can expose you to
attacks. Use at your own risk.
--------------------
``dirty``
--------------------
By default, Spack unsets variables in your environment that can change
the way packages build. This includes ``LD_LIBRARY_PATH``, ``CPATH``,
``LIBRARY_PATH``, ``DYLD_LIBRARY_PATH``, and others.
By default, builds are ``clean``, but on some machines, compilers and
other tools may need custom ``LD_LIBRARY_PATH`` settings to run. You can
set ``dirty`` to ``true`` to skip the cleaning step and make all builds
"dirty" by default. Be aware that this will reduce the reproducibility
of builds.
--------------
``build_jobs``
--------------
Unless overridden in a package or on the command line, Spack builds all
packages in parallel. For a build system that uses Makefiles, this means
running ``make -j<build_jobs>``, where ``build_jobs`` is the number of
threads to use.
The default parallelism is equal to the number of cores on your machine.
If you work on a shared login node or have a strict ulimit, it may be
necessary to set the default to a lower value. By setting ``build_jobs``
to 4, for example, commands like ``spack install`` will run ``make -j4``
instead of hogging every core.
To build all software in serial, set ``build_jobs`` to 1.

View File

@@ -0,0 +1,312 @@
.. _configuration:
==============================
Configuration Files in Spack
==============================
Spack has many configuration files. Here is a quick list of them, in
case you want to skip directly to specific docs:
* :ref:`compilers.yaml <compiler-config>`
* :ref:`config.yaml <config-yaml>`
* :ref:`mirrors.yaml <mirrors>`
* :ref:`modules.yaml <modules>`
* :ref:`packages.yaml <build-settings>`
* :ref:`repos.yaml <repositories>`
-------------------------
YAML Format
-------------------------
Spack configuration files are written in YAML. We chose YAML because
it's human readable, but also versatile in that it supports dictionaries,
lists, and nested sections. For more details on the format, see `yaml.org
<http://yaml.org>`_ and `libyaml <http://pyyaml.org/wiki/LibYAML>`_.
Here is an example ``config.yaml`` file:
.. code-block:: yaml
config:
install_tree: $spack/opt/spack
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
Each spack configuration files is nested under a top-level section
corresponding to its name. So, ``config.yaml`` starts with ``config:``,
and ``mirrors.yaml`` starts with ``mirrors:``, etc.
.. _configuration-scopes:
-------------------------
Configuration Scopes
-------------------------
Spack pulls configuration data from files in several directories. There
are four configuration scopes. From lowest to highest:
#. **defaults**: Stored in ``$(prefix)/etc/spack/defaults/``. These are
the "factory" settings. Users should generally not modify the settings
here, but should override them in other configuration scopes. The
defaults here will change from version to version of Spack.
#. **system**: Stored in ``/etc/spack``. These are settings for this
machine, or for all machines on which this file system is
mounted. The site scope can be used for settings idiosyncratic to a
particular machine, such as the locations of compilers or external
packages. These settings are presumably controlled by someone with
root access on the machine.
#. **site**: Stored in ``$(prefix)/etc/spack/``. Settings here affect
only *this instance* of Spack, and they override defaults. The site
scope can can be used for per-project settings (one spack instance per
project) or for site-wide settings on a multi-user machine (e.g., for
a common spack instance).
#. **user**: Stored in the home directory: ``~/.spack/``. These settings
affect all instances of Spack and take the highest precedence.
Each configuration directory may contain several configuration files,
such as ``config.yaml``, ``compilers.yaml``, or ``mirrors.yaml``. When
configurations conflict, settings from higher-precedence scopes override
lower-precedence settings.
Commands that modify scopes (e.g., ``spack compilers``, ``spack repo``,
etc.) take a ``--scope=<name>`` parameter that you can use to control
which scope is modified. By default they modify the highest-precedence
scope.
.. _platform-scopes:
-------------------------
Platform-specific scopes
-------------------------
For each scope above, there can *also* be platform-specific settings.
For example, on Blue Gene/Q machines, Spack needs to know the location
of cross-compilers for the compute nodes. This configuration is in
``etc/spack/defaults/bgq/compilers.yaml``. It will take precedence
over settings in the ``defaults`` scope, but can still be overridden
by settings in ``system``, ``system/bgq``, ``site``, ``site/bgq``,
``user``, or ``user/bgq``. So, the full scope precedence is:
1. ``defaults``
2. ``defaults/<platform>``
3. ``system``
4. ``system/<platform>``
5. ``site``
6. ``site/<platform>``
7. ``user``
8. ``user/<platform>``
You can get the name to use for ``<platform>`` by running ``spack arch
--platform``. The system config scope has a ``<platform>`` section for
sites at which ``/etc`` is mounted on multiple heterogeneous machines.
-------------------------
Scope precedence
-------------------------
When spack queries for configuration parameters, it searches in
higher-precedence scopes first. So, settings in a higher-precedence file
can override those with the same key in a lower-precedence one. For
list-valued settings, Spack *prepends* higher-precedence settings to
lower-precedence settings. Completely ignoring higher-level configuration
options is supported with the ``::`` notation for keys (see
:ref:`config-overrides` below).
^^^^^^^^^^^^^^^^^^^^^^^^
Simple keys
^^^^^^^^^^^^^^^^^^^^^^^^
Let's look at an example of overriding a single key in a Spack file. If
your configurations look like this:
**defaults** scope:
.. code-block:: yaml
config:
install_tree: $spack/opt/spack
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
**site** scope:
.. code-block:: yaml
config:
install_tree: /some/other/directory
Spack will only override ``install_tree`` in the ``config`` section, and
will take the site preferences for other settings. You can see the
final, combined configuration with the ``spack config get <configtype>``
command:
.. code-block:: console
:emphasize-lines: 3
$ spack config get config
config:
install_tree: /some/other/directory
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- $tempdir
- /nfs/tmp2/$user
$ _
.. _config-overrides:
^^^^^^^^^^^^^^^^^^^^^^^^^^
Overriding entire sections
^^^^^^^^^^^^^^^^^^^^^^^^^^
Above, the site ``config.yaml`` only overrides specific settings in the
default ``config.yaml``. Sometimes, it is useful to *completely*
override lower-precedence settings. To do this, you can use *two* colons
at the end of a key in a configuration file. For example, if the
**site** ``config.yaml`` above looks like this:
.. code-block:: yaml
:emphasize-lines: 1
config::
install_tree: /some/other/directory
Spack will ignore all lower-precedence configuration under the
``config::`` section:
.. code-block:: console
$ spack config get config
config:
install_tree: /some/other/directory
^^^^^^^^^^^^^^^^^^^^^^
List-valued settings
^^^^^^^^^^^^^^^^^^^^^^
Let's revisit the ``config.yaml`` example one more time. The
``build_stage`` setting's value is an ordered list of directories:
**defaults**
.. code-block:: yaml
build_stage:
- $tempdir
- /nfs/tmp2/$user
Suppose the user configuration adds its *own* list of ``build_stage``
paths:
**user**
.. code-block:: yaml
build_stage:
- /lustre-scratch/$user
- ~/mystage
Spack will first look at the paths in the site ``config.yaml``, then the
paths in the user's ``~/.spack/config.yaml``. The list in the
higher-precedence scope is *prepended* to the defaults. ``spack config
get config`` shows the result:
.. code-block:: console
:emphasize-lines: 7-10
$ spack config get config
config:
install_tree: /some/other/directory
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- /lustre-scratch/$user
- ~/mystage
- $tempdir
- /nfs/tmp2/$user
$ _
As in :ref:`config-overrides`, the higher-precedence scope can
*completely* override the lower-precedence scope using `::`. So if the
user config looked like this:
**user**
.. code-block:: yaml
:emphasize-lines: 1
build_stage::
- /lustre-scratch/$user
- ~/mystage
The merged configuration would look like this:
.. code-block:: console
:emphasize-lines: 7-8
$ spack config get config
config:
install_tree: /some/other/directory
module_roots:
lmod: $spack/share/spack/lmod
build_stage:
- /lustre-scratch/$user
- ~/mystage
$ _
.. _config-file-variables:
------------------------------
Config file variables
------------------------------
Spack understands several variables which can be used in config file paths
where ever they appear. There are three sets of these variables, Spack specific
variables, environment variables, and user path variables. Spack specific
variables and environment variables both are indicated by prefixing the variable
name with ``$``. User path variables are indicated at the start of the path with
``~`` or ``~user``. Let's discuss each in turn.
^^^^^^^^^^^^^^^^^^^^^^^^
Spack Specific Variables
^^^^^^^^^^^^^^^^^^^^^^^^
Spack understands several special variables. These are:
* ``$spack``: path to the prefix of this spack installation
* ``$tempdir``: default system temporary directory (as specified in
Python's `tempfile.tempdir
<https://docs.python.org/2/library/tempfile.html#tempfile.tempdir>`_
variable.
* ``$user``: name of the current user
Note that, as with shell variables, you can write these as ``$varname``
or with braces to distinguish the variable from surrounding characters:
``${varname}``. Their names are also case insensitive meaning that ``$SPACK``
works just as well as ``$spack``. These special variables are also
substituted first, so any environment variables with the same name will not
be used.
^^^^^^^^^^^^^^^^^^^^^
Environment Variables
^^^^^^^^^^^^^^^^^^^^^
Spack then uses ``os.path.expandvars`` to expand any remaining environment
variables.
^^^^^^^^^^^^^^
User Variables
^^^^^^^^^^^^^^
Spack also uses the ``os.path.expanduser`` function on the path to expand
any user tilde paths such as ``~`` or ``~user``. These tilde paths must appear
at the beginning of the path or ``os.path.expanduser`` will not properly
expand them.

View File

@@ -0,0 +1,526 @@
.. _contribution-guide:
==================
Contribution Guide
==================
This guide is intended for developers or administrators who want to
contribute a new package, feature, or bugfix to Spack.
It assumes that you have at least some familiarity with Git VCS and Github.
The guide will show a few examples of contributing workflows and discuss
the granularity of pull-requests (PRs). It will also discuss the tests your
PR must pass in order to be accepted into Spack.
First, what is a PR? Quoting `Bitbucket's tutorials <https://www.atlassian.com/git/tutorials/making-a-pull-request/>`_:
Pull requests are a mechanism for a developer to notify team members that
they have **completed a feature**. The pull request is more than just a
notification—its a dedicated forum for discussing the proposed feature.
Important is **completed feature**. The changes one proposes in a PR should
correspond to one feature/bugfix/extension/etc. One can create PRs with
changes relevant to different ideas, however reviewing such PRs becomes tedious
and error prone. If possible, try to follow the **one-PR-one-package/feature** rule.
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. Therefore, when
you send your request, make ``develop`` the destination branch on the
`Spack repository <https://github.com/spack/spack>`_.
----------------------
Continuous Integration
----------------------
Spack uses `Travis CI <https://travis-ci.org/spack/spack>`_ for Continuous Integration
testing. This means that every time you submit a pull request, a series of tests will
be run to make sure you didn't accidentally introduce any bugs into Spack. Your PR
will not be accepted until it passes all of these tests. While you can certainly wait
for the results of these tests after submitting a PR, we recommend that you run them
locally to speed up the review process.
If you take a look in ``$SPACK_ROOT/.travis.yml``, you'll notice that we test
against Python 2.6, 2.7, and 3.3-3.6. We currently perform 3 types of tests:
^^^^^^^^^^
Unit Tests
^^^^^^^^^^
Unit tests ensure that core Spack features like fetching or spec resolution are
working as expected. If your PR only adds new packages or modifies existing ones,
there's very little chance that your changes could cause the unit tests to fail.
However, if you make changes to Spack's core libraries, you should run the unit
tests to make sure you didn't break anything.
Since they test things like fetching from VCS repos, the unit tests require
`git <https://git-scm.com/>`_, `mercurial <https://www.mercurial-scm.org/>`_,
and `subversion <https://subversion.apache.org/>`_ to run. Make sure these are
installed on your system and can be found in your ``PATH``. All of these can be
installed with Spack or with your system package manager.
To run *all* of the unit tests, use:
.. code-block:: console
$ spack test
These tests may take several minutes to complete. If you know you are only
modifying a single Spack feature, you can run a single unit test at a time:
.. code-block:: console
$ spack test architecture
This allows you to develop iteratively: make a change, test that change, make
another change, test that change, etc. To get a list of all available unit
tests, run:
.. command-output:: spack test --list
A more detailed list of available unit tests can be found by running
``spack test --long-list``.
Unit tests are crucial to making sure bugs aren't introduced into Spack. If you
are modifying core Spack libraries or adding new functionality, please consider
adding new unit tests or strengthening existing tests.
.. note::
There is also a ``run-unit-tests`` script in ``share/spack/qa`` that
runs the unit tests. Afterwards, it reports back to Coverage with the
percentage of Spack that is covered by unit tests. This script is
designed for Travis CI. If you want to run the unit tests yourself, we
suggest you use ``spack test``.
^^^^^^^^^^^^
Flake8 Tests
^^^^^^^^^^^^
Spack uses `Flake8 <http://flake8.pycqa.org/en/latest/>`_ to test for
`PEP 8 <https://www.python.org/dev/peps/pep-0008/>`_ conformance. PEP 8 is
a series of style guides for Python that provide suggestions for everything
from variable naming to indentation. In order to limit the number of PRs that
were mostly style changes, we decided to enforce PEP 8 conformance. Your PR
needs to comply with PEP 8 in order to be accepted.
Testing for PEP 8 compliance is easy. Simply run the ``spack flake8``
command:
.. code-block:: console
$ spack flake8
``spack flake8`` has a couple advantages over running ``flake8`` by hand:
#. It only tests files that you have modified since branching off of
``develop``.
#. It works regardless of what directory you are in.
#. It automatically adds approved exemptions from the ``flake8``
checks. For example, URLs are often longer than 80 characters, so we
exempt them from line length checks. We also exempt lines that start
with "homepage", "url", "version", "variant", "depends_on", and
"extends" in ``package.py`` files.
More approved flake8 exemptions can be found
`here <https://github.com/spack/spack/blob/develop/.flake8>`_.
If all is well, you'll see something like this:
.. code-block:: console
$ run-flake8-tests
Dependencies found.
=======================================================
flake8: running flake8 code checks on spack.
Modified files:
var/spack/repos/builtin/packages/hdf5/package.py
var/spack/repos/builtin/packages/hdf/package.py
var/spack/repos/builtin/packages/netcdf/package.py
=======================================================
Flake8 checks were clean.
However, if you aren't compliant with PEP 8, flake8 will complain:
.. code-block:: console
var/spack/repos/builtin/packages/netcdf/package.py:26: [F401] 'os' imported but unused
var/spack/repos/builtin/packages/netcdf/package.py:61: [E303] too many blank lines (2)
var/spack/repos/builtin/packages/netcdf/package.py:106: [E501] line too long (92 > 79 characters)
Flake8 found errors.
Most of the error messages are straightforward, but if you don't understand what
they mean, just ask questions about them when you submit your PR. The line numbers
will change if you add or delete lines, so simply run ``run-flake8-tests`` again
to update them.
.. tip::
Try fixing flake8 errors in reverse order. This eliminates the need for
multiple runs of ``flake8`` just to re-compute line numbers and makes it
much easier to fix errors directly off of the Travis output.
.. warning::
Flake8 requires setuptools in order to run. If you installed ``py-flake8``
with Spack, make sure to add ``py-setuptools`` to your ``PYTHONPATH``.
Otherwise, you will get an error message like:
.. code-block:: console
Traceback (most recent call last):
File: "/usr/bin/flake8", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
^^^^^^^^^^^^^^^^^^^
Documentation Tests
^^^^^^^^^^^^^^^^^^^
Spack uses `Sphinx <http://www.sphinx-doc.org/en/stable/>`_ to build its
documentation. In order to prevent things like broken links and missing imports,
we added documentation tests that build the documentation and fail if there
are any warning or error messages.
Building the documentation requires several dependencies, all of which can be
installed with Spack:
* sphinx
* sphinxcontrib-programoutput
* graphviz
* git
* mercurial
* subversion
.. warning::
Sphinx has `several required dependencies <https://github.com/spack/spack/blob/develop/var/spack/repos/builtin/packages/py-sphinx/package.py>`_.
If you installed ``py-sphinx`` with Spack, make sure to add all of these
dependencies to your ``PYTHONPATH``. The easiest way to do this is to run
``spack activate py-sphinx`` so that all of the dependencies are symlinked
to a central location. If you see an error message like:
.. code-block:: console
Traceback (most recent call last):
File: "/usr/bin/flake8", line 5, in <module>
from pkg_resources import load_entry_point
ImportError: No module named pkg_resources
that means Sphinx couldn't find setuptools in your ``PYTHONPATH``.
Once all of the dependencies are installed, you can try building the documentation:
.. code-block:: console
$ cd "$SPACK_ROOT/lib/spack/docs"
$ make clean
$ make
If you see any warning or error messages, you will have to correct those before
your PR is accepted.
.. note::
There is also a ``run-doc-tests`` script in the Quality Assurance directory.
The only difference between running this script and running ``make`` by hand
is that the script will exit immediately if it encounters an error or warning.
This is necessary for Travis CI. If you made a lot of documentation changes, it
is much quicker to run ``make`` by hand so that you can see all of the warnings
at once.
If you are editing the documentation, you should obviously be running the
documentation tests. But even if you are simply adding a new package, your
changes could cause the documentation tests to fail:
.. code-block:: console
package_list.rst:8745: WARNING: Block quote ends without a blank line; unexpected unindent.
At first, this error message will mean nothing to you, since you didn't edit
that file. Until you look at line 8745 of the file in question:
.. code-block:: rst
Description:
NetCDF is a set of software libraries and self-describing, machine-
independent data formats that support the creation, access, and sharing
of array-oriented scientific data.
Our documentation includes :ref:`a list of all Spack packages <package-list>`.
If you add a new package, its docstring is added to this page. The problem in
this case was that the docstring looked like:
.. code-block:: python
class Netcdf(Package):
"""
NetCDF is a set of software libraries and self-describing,
machine-independent data formats that support the creation,
access, and sharing of array-oriented scientific data.
"""
Docstrings cannot start with a newline character, or else Sphinx will complain.
Instead, they should look like:
.. code-block:: python
class Netcdf(Package):
"""NetCDF is a set of software libraries and self-describing,
machine-independent data formats that support the creation,
access, and sharing of array-oriented scientific data."""
Documentation changes can result in much more obfuscated warning messages.
If you don't understand what they mean, feel free to ask when you submit
your PR.
-------------
Git Workflows
-------------
Spack is still in the beta stages of development. Most of our users run off of
the develop branch, and fixes and new features are constantly being merged. So
how do you keep up-to-date with upstream while maintaining your own local
differences and contributing PRs to Spack?
^^^^^^^^^
Branching
^^^^^^^^^
The easiest way to contribute a pull request is to make all of your changes on
new branches. Make sure your ``develop`` is up-to-date and create a new branch
off of it:
.. code-block:: console
$ git checkout develop
$ git pull upstream develop
$ git branch <descriptive_branch_name>
$ git checkout <descriptive_branch_name>
Here we assume that the local ``develop`` branch tracks the upstream develop
branch of Spack. This is not a requirement and you could also do the same with
remote branches. But for some it is more convenient to have a local branch that
tracks upstream.
Normally we prefer that commits pertaining to a package ``<package-name>`` have
a message ``<package-name>: descriptive message``. It is important to add
descriptive message so that others, who might be looking at your changes later
(in a year or maybe two), would understand the rationale behind them.
Now, you can make your changes while keeping the ``develop`` branch pure.
Edit a few files and commit them by running:
.. code-block:: console
$ git add <files_to_be_part_of_the_commit>
$ git commit --message <descriptive_message_of_this_particular_commit>
Next, push it to your remote fork and create a PR:
.. code-block:: console
$ git push origin <descriptive_branch_name> --set-upstream
GitHub provides a `tutorial <https://help.github.com/articles/about-pull-requests/>`_
on how to file a pull request. When you send the request, make ``develop`` the
destination branch.
If you need this change immediately and don't have time to wait for your PR to
be merged, you can always work on this branch. But if you have multiple PRs,
another option is to maintain a Frankenstein branch that combines all of your
other branches:
.. code-block:: console
$ git co develop
$ git branch <your_modified_develop_branch>
$ git checkout <your_modified_develop_branch>
$ git merge <descriptive_branch_name>
This can be done with each new PR you submit. Just make sure to keep this local
branch up-to-date with upstream ``develop`` too.
^^^^^^^^^^^^^^
Cherry-Picking
^^^^^^^^^^^^^^
What if you made some changes to your local modified develop branch and already
committed them, but later decided to contribute them to Spack? You can use
cherry-picking to create a new branch with only these commits.
First, check out your local modified develop branch:
.. code-block:: console
$ git checkout <your_modified_develop_branch>
Now, get the hashes of the commits you want from the output of:
.. code-block:: console
$ git log
Next, create a new branch off of upstream ``develop`` and copy the commits
that you want in your PR:
.. code-block:: console
$ git checkout develop
$ git pull upstream develop
$ git branch <descriptive_branch_name>
$ git checkout <descriptive_branch_name>
$ git cherry-pick <hash>
$ git push origin <descriptive_branch_name> --set-upstream
Now you can create a PR from the web-interface of GitHub. The net result is as
follows:
#. You patched your local version of Spack and can use it further.
#. You "cherry-picked" these changes in a stand-alone branch and submitted it
as a PR upstream.
Should you have several commits to contribute, you could follow the same
procedure by getting hashes of all of them and cherry-picking to the PR branch.
.. note::
It is important that whenever you change something that might be of
importance upstream, create a pull request as soon as possible. Do not wait
for weeks/months to do this, because:
#. you might forget why you modified certain files
#. it could get difficult to isolate this change into a stand-alone clean PR.
^^^^^^^^
Rebasing
^^^^^^^^
Other developers are constantly making contributions to Spack, possibly on the
same files that your PR changed. If their PR is merged before yours, it can
create a merge conflict. This means that your PR can no longer be automatically
merged without a chance of breaking your changes. In this case, you will be
asked to rebase on top of the latest upstream ``develop``.
First, make sure your develop branch is up-to-date:
.. code-block:: console
$ git checkout develop
$ git pull upstream develop
Now, we need to switch to the branch you submitted for your PR and rebase it
on top of develop:
.. code-block:: console
$ git checkout <descriptive_branch_name>
$ git rebase develop
Git will likely ask you to resolve conflicts. Edit the file that it says can't
be merged automatically and resolve the conflict. Then, run:
.. code-block:: console
$ git add <file_that_could_not_be_merged>
$ git rebase --continue
You may have to repeat this process multiple times until all conflicts are resolved.
Once this is done, simply force push your rebased branch to your remote fork:
.. code-block:: console
$ git push --force origin <descriptive_branch_name>
^^^^^^^^^^^^^^^^^^^^^^^^^
Rebasing with cherry-pick
^^^^^^^^^^^^^^^^^^^^^^^^^
You can also perform a rebase using ``cherry-pick``. First, create a temporary
backup branch:
.. code-block:: console
$ git checkout <descriptive_branch_name>
$ git branch tmp
If anything goes wrong, you can always go back to your ``tmp`` branch.
Now, look at the logs and save the hashes of any commits you would like to keep:
.. code-block:: console
$ git log
Next, go back to the original branch and reset it to ``develop``.
Before doing so, make sure that you local ``develop`` branch is up-to-date
with upstream:
.. code-block:: console
$ git checkout develop
$ git pull upstream develop
$ git checkout <descriptive_branch_name>
$ git reset --hard develop
Now you can cherry-pick relevant commits:
.. code-block:: console
$ git cherry-pick <hash1>
$ git cherry-pick <hash2>
Push the modified branch to your fork:
.. code-block:: console
$ git push --force origin <descriptive_branch_name>
If everything looks good, delete the backup branch:
.. code-block:: console
$ git branch --delete --force tmp
^^^^^^^^^^^^^^^^^^
Re-writing History
^^^^^^^^^^^^^^^^^^
Sometimes you may end up on a branch that has diverged so much from develop
that it cannot easily be rebased. If the current commits history is more of
an experimental nature and only the net result is important, you may rewrite
the history.
First, merge upstream ``develop`` and reset you branch to it. On the branch
in question, run:
.. code-block:: console
$ git merge develop
$ git reset develop
At this point your branch will point to the same commit as develop and
thereby the two are indistinguishable. However, all the files that were
previously modified will stay as such. In other words, you do not lose the
changes you made. Changes can be reviewed by looking at diffs:
.. code-block:: console
$ git status
$ git diff
The next step is to rewrite the history by adding files and creating commits:
.. code-block:: console
$ git add <files_to_be_part_of_commit>
$ git commit --message <descriptive_message>
After all changed files are committed, you can push the branch to your fork
and create a PR:
.. code-block:: console
$ git push origin --set-upstream

View File

@@ -1,7 +1,8 @@
.. _developer_guide:
===============
Developer Guide
=====================
===============
This guide is intended for people who want to work on Spack itself.
If you just want to develop packages, see the :ref:`packaging-guide`.
@@ -11,17 +12,18 @@ It is assumed that you've read the :ref:`basic-usage` and
concepts discussed there. If you're not, we recommend reading those
first.
--------
Overview
-----------------------
--------
Spack is designed with three separate roles in mind:
#. **Users**, who need to install software *without* knowing all the
details about how it is built.
#. **Packagers** who know how a particular software package is
built and encode this information in package files.
#. **Developers** who work on Spack, add new features, and try to
make the jobs of packagers and users easier.
#. **Users**, who need to install software *without* knowing all the
details about how it is built.
#. **Packagers** who know how a particular software package is
built and encode this information in package files.
#. **Developers** who work on Spack, add new features, and try to
make the jobs of packagers and users easier.
Users could be end users installing software in their home directory,
or administrators installing software to a shared directory on a
@@ -41,9 +43,9 @@ specification.
This gets us to the two key concepts in Spack's software design:
#. **Specs**: expressions for describing builds of software, and
#. **Packages**: Python modules that build software according to a
spec.
#. **Specs**: expressions for describing builds of software, and
#. **Packages**: Python modules that build software according to a
spec.
A package is a template for building particular software, and a spec
as a descriptor for one or more instances of that template. Users
@@ -63,61 +65,75 @@ building the software off to the package object. The rest of this
document describes all the pieces that come together to make that
happen.
-------------------
Directory Structure
-------------------------
-------------------
So that you can familiarize yourself with the project, we'll start
with a high level view of Spack's directory structure::
with a high level view of Spack's directory structure:
spack/ <- installation root
bin/
spack <- main spack executable
var/
spack/ <- build & stage directories
opt/
spack/ <- packages are installed here
lib/
spack/
docs/ <- source for this documentation
env/ <- compiler wrappers for build environment
.. code-block:: none
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
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
test/ <- unit test modules
util/ <- common code
Spack is designed so that it could live within a `standard UNIX
directory hierarchy <http://linux.die.net/man/7/hier>`_, so ``lib``,
``var``, and ``opt`` all contain a ``spack`` subdirectory in case
Spack is installed alongside other software. Most of the interesting
parts of Spack live in ``lib/spack``. Files under ``var`` are created
as needed, so there is no ``var`` directory when you initially clone
Spack from the repository.
parts of Spack live in ``lib/spack``.
Spack has *one* directory layout and there is no install process.
version and the source code. Most Python programs don't look like
this (they use distutils, ``setup.py``, etc.) but we wanted to make
Spack *very* easy to use. The simple layout spares users from the
need to install Spack into a Python environment. Many users don't
have write access to a Python installation, and installing an entire
new instance of Python to bootstrap Spack would be very complicated.
Most Python programs don't look like this (they use distutils, ``setup.py``,
etc.) but we wanted to make Spack *very* easy to use. The simple layout
spares users from the need to install Spack into a Python environment.
Many users don't have write access to a Python installation, and installing
an entire new instance of Python to bootstrap Spack would be very complicated.
Users should not have to install install a big, complicated package to
use the thing that's supposed to spare them from the details of big,
complicated packages. The end result is that Spack works out of the
box: clone it and add ``bin`` to your PATH and you're ready to go.
--------------
Code Structure
-------------------------
--------------
This section gives an overview of the various Python modules in Spack,
grouped by functionality.
^^^^^^^^^^^^^^^^^^^^^^^
Package-related modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^^^^
:mod:`spack.package`
Contains the :class:`Package <spack.package.Package>` class, which
@@ -144,9 +160,9 @@ Package-related modules
decorator, which allows :ref:`multimethods <multimethods>` in
packages.
^^^^^^^^^^^^^^^^^^^^
Spec-related modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^^
:mod:`spack.spec`
Contains :class:`Spec <spack.spec.Spec>` and :class:`SpecParser
@@ -194,9 +210,9 @@ Spec-related modules
Not yet implemented. Should eventually have architecture
descriptions for cross-compiling.
^^^^^^^^^^^^^^^^^
Build environment
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^
:mod:`spack.stage`
Handles creating temporary directories for builds.
@@ -210,15 +226,17 @@ Build environment
Create more implementations of this to change the hierarchy and
naming scheme in ``$spack_prefix/opt``
^^^^^^^^^^^^^^^^^
Spack Subcommands
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^
:mod:`spack.cmd`
Each module in this package implements a Spack subcommand. See
:ref:`writing commands <writing-commands>` for details.
^^^^^^^^^^
Unit tests
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^
:mod:`spack.test`
Implements Spack's test suite. Add a module and put its name in
@@ -228,78 +246,247 @@ Unit tests
This is a fake package hierarchy used to mock up packages for
Spack's test suite.
^^^^^^^^^^^^^
Other Modules
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:mod:`spack.globals`
Includes global settings for Spack. the default policy classes for
things like :ref:`temporary space <temp-space>` and
:ref:`concretization <concretization-policies>`.
:mod:`spack.tty`
Basic output functions for all of the messages Spack writes to the
terminal.
:mod:`spack.color`
Implements a color formatting syntax used by ``spack.tty``.
^^^^^^^^^^^^^
:mod:`spack.url`
URL parsing, for deducing names and versions of packages from
tarball URLs.
:mod:`spack.util`
In this package are a number of utility modules for the rest of
Spack.
:mod:`spack.error`
:class:`SpackError <spack.error.SpackError>`, the base class for
Spack's exception hierarchy.
:mod:`llnl.util.tty`
Basic output functions for all of the messages Spack writes to the
terminal.
:mod:`llnl.util.tty.color`
Implements a color formatting syntax used by ``spack.tty``.
:mod:`llnl.util`
In this package are a number of utility modules for the rest of
Spack.
------------
Spec objects
-------------------------
------------
---------------
Package objects
-------------------------
Most spack commands
look something like this:
#. Parse an abstract spec (or specs) from the command line,
#. *Normalize* the spec based on information in package files,
#. *Concretize* the spec according to some customizable policies,
#. Instantiate a package based on the spec, and
#. Call methods (e.g., ``install()``) on the package object.
---------------
Most spack commands look something like this:
#. Parse an abstract spec (or specs) from the command line,
#. *Normalize* the spec based on information in package files,
#. *Concretize* the spec according to some customizable policies,
#. Instantiate a package based on the spec, and
#. Call methods (e.g., ``install()``) on the package object.
The information in Package files is used at all stages in this
process.
Conceptually, packages are overloaded. They contain:
Conceptually, packages are overloaded. They contain
-------------
Stage objects
-------------------------
-------------
.. _writing-commands:
----------------
Writing commands
-------------------------
----------------
Adding a new command to Spack is easy. Simply add a ``<name>.py`` file to
``lib/spack/spack/cmd/``, where ``<name>`` is the name of the subcommand.
At the bare minimum, two functions are required in this file:
^^^^^^^^^^^^^^^^^^
``setup_parser()``
^^^^^^^^^^^^^^^^^^
Unless your command doesn't accept any arguments, a ``setup_parser()``
function is required to define what arguments and flags your command takes.
See the `Argparse documentation <https://docs.python.org/2.7/library/argparse.html>`_
for more details on how to add arguments.
Some commands have a set of subcommands, like ``spack compiler find`` or
``spack module refresh``. You can add subparsers to your parser to handle
this. Check out ``spack edit --command compiler`` for an example of this.
A lot of commands take the same arguments and flags. These arguments should
be defined in ``lib/spack/spack/cmd/common/arguments.py`` so that they don't
need to be redefined in multiple commands.
^^^^^^^^^^^^
``<name>()``
^^^^^^^^^^^^
In order to run your command, Spack searches for a function with the same
name as your command in ``<name>.py``. This is the main method for your
command, and can call other helper methods to handle common tasks.
Remember, before adding a new command, think to yourself whether or not this
new command is actually necessary. Sometimes, the functionality you desire
can be added to an existing command. Also remember to add unit tests for
your command. If it isn't used very frequently, changes to the rest of
Spack can cause your command to break without sufficient unit tests to
prevent this from happening.
Whenever you add/remove/rename a command or flags for an existing command,
make sure to update Spack's `Bash tab completion script
<https://github.com/adamjstewart/spack/blob/develop/share/spack/spack-completion.bash>`_.
----------
Unit tests
-------------------------
----------
------------
Unit testing
-------------------------
------------
------------------
Developer commands
-------------------------
------------------
.. _cmd-spack-doc:
^^^^^^^^^^^^^
``spack doc``
~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^
.. _cmd-spack-test:
^^^^^^^^^^^^^^
``spack test``
~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^
.. _cmd-spack-python:
^^^^^^^^^^^^^^^^
``spack python``
^^^^^^^^^^^^^^^^
``spack python`` is a command that lets you import and debug things as if
you were in a Spack interactive shell. Without any arguments, it is similar
to a normal interactive Python shell, except you can import spack and any
other Spack modules:
.. code-block:: console
$ spack python
Spack version 0.10.0
Python 2.7.13, Linux x86_64
>>> from spack.version import Version
>>> a = Version('1.2.3')
>>> b = Version('1_2_3')
>>> a == b
True
>>> c = Version('1.2.3b')
>>> c > a
True
>>>
You can also run a single command:
.. code-block:: console
$ spack python -c 'import distro; distro.linux_distribution()'
('Fedora', '25', 'Workstation Edition')
or a file:
.. code-block:: console
$ spack python ~/test_fetching.py
just like you would with the normal ``python`` command.
.. _cmd-spack-url:
^^^^^^^^^^^^^
``spack url``
^^^^^^^^^^^^^
A package containing a single URL can be used to download several different
versions of the package. If you've ever wondered how this works, all of the
magic is in :mod:`spack.url`. This module contains methods for extracting
the name and version of a package from its URL. The name is used by
``spack create`` to guess the name of the package. By determining the version
from the URL, Spack can replace it with other versions to determine where to
download them from.
The regular expressions in ``parse_name_offset`` and ``parse_version_offset``
are used to extract the name and version, but they aren't perfect. In order
to debug Spack's URL parsing support, the ``spack url`` command can be used.
"""""""""""""""""""
``spack url parse``
"""""""""""""""""""
If you need to debug a single URL, you can use the following command:
.. command-output:: spack url parse http://cache.ruby-lang.org/pub/ruby/2.2/ruby-2.2.0.tar.gz
You'll notice that the name and version of this URL are correctly detected,
and you can even see which regular expressions it was matched to. However,
you'll notice that when it substitutes the version number in, it doesn't
replace the ``2.2`` with ``9.9`` where we would expect ``9.9.9b`` to live.
This particular package may require a ``list_url`` or ``url_for_version``
function.
This command also accepts a ``--spider`` flag. If provided, Spack searches
for other versions of the package and prints the matching URLs.
""""""""""""""""""
``spack url list``
""""""""""""""""""
This command lists every URL in every package in Spack. If given the
``--color`` and ``--extrapolation`` flags, it also colors the part of
the string that it detected to be the name and version. The
``--incorrect-name`` and ``--incorrect-version`` flags can be used to
print URLs that were not being parsed correctly.
"""""""""""""""""""""
``spack url summary``
"""""""""""""""""""""
This command attempts to parse every URL for every package in Spack
and prints a summary of how many of them are being correctly parsed.
It also prints a histogram showing which regular expressions are being
matched and how frequently:
.. command-output:: spack url summary
This command is essential for anyone adding or changing the regular
expressions that parse names and versions. By running this command
before and after the change, you can make sure that your regular
expression fixes more packages than it breaks.
---------
Profiling
---------
Spack has some limited built-in support for profiling, and can report
statistics using standard Python timing tools. To use this feature,
supply ``--profile`` to Spack on the command line, before any subcommands.
.. _spack-p:
^^^^^^^^^^^^^^^^^^^
``spack --profile``
^^^^^^^^^^^^^^^^^^^
``spack --profile`` output looks like this:
.. command-output:: spack --profile graph dyninst
:ellipsis: 25
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

@@ -1,33 +0,0 @@
##############################################################################
# Copyright (c) 2013, 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.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/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.
#
# 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.
#
# 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
##############################################################################
# -*- coding: utf-8 -*-
"""
sphinxcontrib
~~~~~~~~~~~~~
Contains 3rd party Sphinx extensions.
"""
__import__('pkg_resources').declare_namespace(__name__)

View File

@@ -1,287 +0,0 @@
##############################################################################
# Copyright (c) 2013, 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.
# LLNL-CODE-647188
#
# For details, see https://scalability-llnl.github.io/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.
#
# 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.
#
# 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
##############################################################################
# -*- coding: utf-8 -*-
# Copyright (c) 2010, 2011, 2012, Sebastian Wiesner <lunaryorn@gmail.com>
# All rights reserved.
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
# 1. Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
"""
sphinxcontrib.programoutput
===========================
This extension provides a directive to include the output of commands as
literal block while building the docs.
.. moduleauthor:: Sebastian Wiesner <lunaryorn@gmail.com>
"""
from __future__ import (print_function, division, unicode_literals,
absolute_import)
import sys
import os
import shlex
from subprocess import Popen, PIPE, STDOUT
from collections import defaultdict, namedtuple
from docutils import nodes
from docutils.parsers import rst
from docutils.parsers.rst.directives import flag, unchanged, nonnegative_int
__version__ = '0.9'
class program_output(nodes.Element):
pass
def _slice(value):
parts = [int(v.strip()) for v in value.split(',')]
if len(parts) > 2:
raise ValueError('too many slice parts')
return tuple((parts + [None] * 2)[:2])
class ProgramOutputDirective(rst.Directive):
has_content = False
final_argument_whitespace = True
required_arguments = 1
option_spec = dict(shell=flag, prompt=flag, nostderr=flag,
ellipsis=_slice, extraargs=unchanged,
returncode=nonnegative_int, cwd=unchanged)
def run(self):
env = self.state.document.settings.env
node = program_output()
node.line = self.lineno
node['command'] = self.arguments[0]
if self.name == 'command-output':
node['show_prompt'] = True
else:
node['show_prompt'] = 'prompt' in self.options
node['hide_standard_error'] = 'nostderr' in self.options
node['extraargs'] = self.options.get('extraargs', '')
_, cwd = env.relfn2path(self.options.get('cwd', '/'))
node['working_directory'] = cwd
node['use_shell'] = 'shell' in self.options
node['returncode'] = self.options.get('returncode', 0)
if 'ellipsis' in self.options:
node['strip_lines'] = self.options['ellipsis']
return [node]
_Command = namedtuple(
'Command', 'command shell hide_standard_error working_directory')
class Command(_Command):
"""
A command to be executed.
"""
def __new__(cls, command, shell=False, hide_standard_error=False,
working_directory='/'):
if isinstance(command, list):
command = tuple(command)
# `chdir()` resolves symlinks, so we need to resolve them too for
# caching to make sure that different symlinks to the same directory
# don't result in different cache keys. Also normalize paths to make
# sure that identical paths are also equal as strings.
working_directory = os.path.normpath(os.path.realpath(
working_directory))
return _Command.__new__(cls, command, shell, hide_standard_error,
working_directory)
@classmethod
def from_program_output_node(cls, node):
"""
Create a command from a :class:`program_output` node.
"""
extraargs = node.get('extraargs', '')
command = (node['command'] + ' ' + extraargs).strip()
return cls(command, node['use_shell'],
node['hide_standard_error'], node['working_directory'])
def execute(self):
"""
Execute this command.
Return the :class:`~subprocess.Popen` object representing the running
command.
"""
if self.shell:
if sys.version_info[0] < 3 and isinstance(self.command, unicode):
command = self.command.encode(sys.getfilesystemencoding())
else:
command = self.command
else:
if sys.version_info[0] < 3 and isinstance(self.command, unicode):
command = shlex.split(self.command.encode(
sys.getfilesystemencoding()))
elif isinstance(self.command, str):
command = shlex.split(self.command)
else:
command = self.command
return Popen(command, shell=self.shell, stdout=PIPE,
stderr=PIPE if self.hide_standard_error else STDOUT,
cwd=self.working_directory)
def get_output(self):
"""
Get the output of this command.
Return a tuple ``(returncode, output)``. ``returncode`` is the
integral return code of the process, ``output`` is the output as
unicode string, with final trailing spaces and new lines stripped.
"""
process = self.execute()
output = process.communicate()[0].decode(
sys.getfilesystemencoding(), 'replace').rstrip()
return process.returncode, output
def __str__(self):
if isinstance(self.command, tuple):
return repr(list(self.command))
return repr(self.command)
class ProgramOutputCache(defaultdict):
"""
Execute command and cache their output.
This class is a mapping. Its keys are :class:`Command` objects represeting
command invocations. Its values are tuples of the form ``(returncode,
output)``, where ``returncode`` is the integral return code of the command,
and ``output`` is the output as unicode string.
The first time, a key is retrieved from this object, the command is
invoked, and its result is cached. Subsequent access to the same key
returns the cached value.
"""
def __missing__(self, command):
"""
Called, if a command was not found in the cache.
``command`` is an instance of :class:`Command`.
"""
result = command.get_output()
self[command] = result
return result
def run_programs(app, doctree):
"""
Execute all programs represented by ``program_output`` nodes in
``doctree``. Each ``program_output`` node in ``doctree`` is then
replaced with a node, that represents the output of this program.
The program output is retrieved from the cache in
``app.env.programoutput_cache``.
"""
if app.config.programoutput_use_ansi:
# enable ANSI support, if requested by config
from sphinxcontrib.ansi import ansi_literal_block
node_class = ansi_literal_block
else:
node_class = nodes.literal_block
cache = app.env.programoutput_cache
for node in doctree.traverse(program_output):
command = Command.from_program_output_node(node)
try:
returncode, output = cache[command]
except EnvironmentError as error:
error_message = 'Command {0} failed: {1}'.format(command, error)
error_node = doctree.reporter.error(error_message, base_node=node)
node.replace_self(error_node)
else:
if returncode != node['returncode']:
app.warn('Unexpected return code {0} from command {1}'.format(
returncode, command))
# replace lines with ..., if ellipsis is specified
if 'strip_lines' in node:
lines = output.splitlines()
start, stop = node['strip_lines']
lines[start:stop] = ['...']
output = '\n'.join(lines)
if node['show_prompt']:
tmpl = app.config.programoutput_prompt_template
output = tmpl.format(command=node['command'], output=output,
returncode=returncode)
new_node = node_class(output, output)
new_node['language'] = 'text'
node.replace_self(new_node)
def init_cache(app):
"""
Initialize the cache for program output at
``app.env.programoutput_cache``, if not already present (e.g. being
loaded from a pickled environment).
The cache is of type :class:`ProgramOutputCache`.
"""
if not hasattr(app.env, 'programoutput_cache'):
app.env.programoutput_cache = ProgramOutputCache()
def setup(app):
app.add_config_value('programoutput_use_ansi', False, 'env')
app.add_config_value('programoutput_prompt_template',
'$ {command}\n{output}', 'env')
app.add_directive('program-output', ProgramOutputDirective)
app.add_directive('command-output', ProgramOutputDirective)
app.connect(str('builder-inited'), init_cache)
app.connect(str('doctree-read'), run_programs)

View File

@@ -1,29 +1,32 @@
Feature overview
==================
================
Feature Overview
================
This is a high-level overview of features that make Spack different
from other `package managers
<http://en.wikipedia.org/wiki/Package_management_system>`_ and `port
systems <http://en.wikipedia.org/wiki/Ports_collection>`_.
---------------------------
Simple package installation
----------------------------
---------------------------
Installing the default version of a package is simple. This will install
the latest version of the ``mpileaks`` package and all of its dependencies:
.. code-block:: sh
.. code-block:: console
$ spack install mpileaks
--------------------------------
Custom versions & configurations
-------------------------------------------
--------------------------------
Spack allows installation to be customized. Users can specify the
version, build compiler, compile-time options, and cross-compile
platform, all on the command line.
.. code-block:: sh
.. code-block:: console
# Install a particular version by appending @
$ spack install mpileaks@1.1.2
@@ -31,46 +34,55 @@ 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
-------------------------------------
----------------------
Spack allows *dependencies* of a particular installation to be
customized extensively. Suppose that ``mpileaks`` depends indirectly
on ``libelf`` and ``libdwarf``. Using ``^``, users can add custom
configurations for the dependencies:
.. code-block:: sh
.. code-block:: console
# Install mpileaks and link it with specific versions of libelf and libdwarf
$ spack install mpileaks@1.1.2 %gcc@4.7.3 +debug ^libelf@0.8.12 ^libdwarf@20130729+debug
------------------------
Non-destructive installs
-------------------------------------
------------------------
Spack installs every unique package/dependency configuration into its
own prefix, so new installs will not break existing ones.
-------------------------------
Packages can peacefully coexist
-------------------------------------
-------------------------------
Spack avoids library misconfiguration by using ``RPATH`` to link
dependencies. When a user links a library or runs a program, it is
tied to the dependencies it was built with, so there is no need to
manipulate ``LD_LIBRARY_PATH`` at runtime.
-------------------------
Creating packages is easy
-------------------------------------
-------------------------
To create a new packages, all Spack needs is a URL for the source
archive. The ``spack create`` command will create a boilerplate
@@ -79,7 +91,7 @@ in pure Python.
For example, this command:
.. code-block:: sh
.. code-block:: console
$ spack create http://www.mr511.de/software/libelf-0.8.13.tar.gz
@@ -89,21 +101,31 @@ creates a simple python file:
from spack import *
class Libelf(Package):
homepage = "http://www.example.com/"
"""FIXME: Put a proper description of your package here."""
# FIXME: Add a proper url for your package's homepage here.
homepage = "http://www.example.com"
url = "http://www.mr511.de/software/libelf-0.8.13.tar.gz"
version('0.8.13', '4136d7b4c04df68b686570afa26988ac')
def install(self, prefix):
configure("--prefix=%s" % prefix)
# FIXME: Add dependencies if required.
# depends_on('foo')
def install(self, spec, prefix):
# FIXME: Modify the configure line to suit your build system here.
configure('--prefix={0}'.format(prefix))
# FIXME: Add logic to build and install here.
make()
make("install")
make('install')
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

File diff suppressed because it is too large Load Diff

View File

@@ -3,8 +3,13 @@
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
Spack Documentation
=================================
===================
Spack
===================
.. epigraph::
`These are docs for the Spack package manager. For sphere packing, see` `pyspack <https://pyspack.readthedocs.io>`_.
Spack is a package management tool designed to support multiple
versions and configurations of software on a wide variety of platforms
@@ -18,41 +23,61 @@ 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
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/spack/spack>`_ and install your first
package:
.. code-block:: sh
.. code-block:: console
$ git clone https://github.com/scalability-llnl/spack.git
$ git clone https://github.com/spack/spack.git
$ cd spack/bin
$ ./spack install libelf
If you're new to spack and want to start using it, see :doc:`getting_started`,
or refer to the full manual below.
Table of Contents
---------------------
.. toctree::
:maxdepth: 2
:caption: Basics
features
getting_started
basic_usage
packaging_guide
workflows
tutorial
known_issues
.. toctree::
:maxdepth: 2
:caption: Reference
configuration
config_yaml
build_settings
mirrors
site_configuration
developer_guide
module_file_support
repositories
binary_caches
command_index
package_list
API Docs <spack>
.. toctree::
:maxdepth: 2
:caption: Contributing
contribution_guide
packaging_guide
developer_guide
Spack API Docs <spack>
LLNL API Docs <llnl>
==================
Indices and tables
==================

View File

@@ -0,0 +1,110 @@
============
Known Issues
============
This is a list of known bugs in Spack. It provides ways of getting around these
problems if you encounter them.
-----------------------------------------------------------------
Default variants are not taken into account during concretization
-----------------------------------------------------------------
**Status:** Expected to be fixed in the next release
Current concretization algorithm does not take into account default values
of variants when adding extra constraints to the spec via CLI. For example
you may encounter the following error when trying to specify which MPI provider
to use:
.. code-block:: console
$ spack install hdf5 ^openmpi
==> Error: hdf5 does not depend on openmpi
although the hdf5 package contains:
.. code-block:: python
variant('mpi', default=True, description='Enable MPI support')
depends_on('mpi', when='+mpi')
A workaround is to explicitly activate the variant related to the dependency:
.. code-block:: console
$ spack install hdf5+mpi ^openmpi
See https://github.com/spack/spack/issues/397 for further details.
---------------------------------------------------
Variants are not properly forwarded to dependencies
---------------------------------------------------
**Status:** Expected to be fixed in the next release
Sometimes, a variant of a package can also affect how its dependencies are
built. For example, in order to build MPI support for a package, it may
require that its dependencies are also built with MPI support. In the
``package.py``, this looks like:
.. code-block:: python
depends_on('hdf5~mpi', when='~mpi')
depends_on('hdf5+mpi', when='+mpi')
Spack handles this situation properly for *immediate* dependencies, and
builds ``hdf5`` with the same variant you used for the package that
depends on it. However, for *indirect* dependencies (dependencies of
dependencies), Spack does not backtrack up the DAG far enough to handle
this. Users commonly run into this situation when trying to build R with
X11 support:
.. code-block:: console
$ spack install r+X
...
==> Error: Invalid spec: 'cairo@1.14.8%gcc@6.2.1+X arch=linux-fedora25-x86_64 ^bzip2@1.0.6%gcc@6.2.1+shared arch=linux-fedora25-x86_64 ^font-util@1.3.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^fontconfig@2.12.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^freetype@2.7.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^gettext@0.19.8.1%gcc@6.2.1+bzip2+curses+git~libunistring+libxml2+tar+xz arch=linux-fedora25-x86_64 ^glib@2.53.1%gcc@6.2.1~libmount arch=linux-fedora25-x86_64 ^inputproto@2.3.2%gcc@6.2.1 arch=linux-fedora25-x86_64 ^kbproto@1.0.7%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libffi@3.2.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libpng@1.6.29%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libpthread-stubs@0.4%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libx11@1.6.5%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libxau@1.0.8%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libxcb@1.12%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libxdmcp@1.1.2%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libxext@1.3.3%gcc@6.2.1 arch=linux-fedora25-x86_64 ^libxml2@2.9.4%gcc@6.2.1~python arch=linux-fedora25-x86_64 ^libxrender@0.9.10%gcc@6.2.1 arch=linux-fedora25-x86_64 ^ncurses@6.0%gcc@6.2.1~symlinks arch=linux-fedora25-x86_64 ^openssl@1.0.2k%gcc@6.2.1 arch=linux-fedora25-x86_64 ^pcre@8.40%gcc@6.2.1+utf arch=linux-fedora25-x86_64 ^pixman@0.34.0%gcc@6.2.1 arch=linux-fedora25-x86_64 ^pkg-config@0.29.2%gcc@6.2.1+internal_glib arch=linux-fedora25-x86_64 ^python@2.7.13%gcc@6.2.1+shared~tk~ucs4 arch=linux-fedora25-x86_64 ^readline@7.0%gcc@6.2.1 arch=linux-fedora25-x86_64 ^renderproto@0.11.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^sqlite@3.18.0%gcc@6.2.1 arch=linux-fedora25-x86_64 ^tar^util-macros@1.19.1%gcc@6.2.1 arch=linux-fedora25-x86_64 ^xcb-proto@1.12%gcc@6.2.1 arch=linux-fedora25-x86_64 ^xextproto@7.3.0%gcc@6.2.1 arch=linux-fedora25-x86_64 ^xproto@7.0.31%gcc@6.2.1 arch=linux-fedora25-x86_64 ^xtrans@1.3.5%gcc@6.2.1 arch=linux-fedora25-x86_64 ^xz@5.2.3%gcc@6.2.1 arch=linux-fedora25-x86_64 ^zlib@1.2.11%gcc@6.2.1+pic+shared arch=linux-fedora25-x86_64'.
Package cairo requires variant ~X, but spec asked for +X
A workaround is to explicitly activate the variants of dependencies as well:
.. code-block:: console
$ spack install r+X ^cairo+X ^pango+X
See https://github.com/spack/spack/issues/267 and
https://github.com/spack/spack/issues/2546 for further details.
---------------------------------
``spack extensions`` doesn't work
---------------------------------
**Status:** Up for grabs if you want to try to fix it
Spack provides an ``extensions`` command that lists all available extensions
of a package, the ones that are installed, and the ones that are already
activated. This is very useful in conjunction with ``spack activate``.
Unfortunately, this command no longer works:
.. code-block:: console
$ spack extensions python
==> python@2.7.13%clang@8.0.0-apple~tk~ucs4 arch=darwin-sierra-x86_64 -ckrr4mg has no extensions.
See https://github.com/spack/spack/issues/2895 for further details.
----------------------------
``spack setup`` doesn't work
----------------------------
**Status:** Work in progress
Spack provides a ``setup`` command that is useful for the development of
software outside of Spack. Unfortunately, this command no longer works.
See https://github.com/spack/spack/issues/2597 and
https://github.com/spack/spack/issues/2662 for details. This is expected
to be fixed by https://github.com/spack/spack/pull/2664.

View File

@@ -1,7 +1,8 @@
.. _mirrors:
=======
Mirrors
============================
=======
Some sites may not have access to the internet for fetching packages.
These sites will need a local repository of tarballs from which they
@@ -10,27 +11,29 @@ mirror is a URL that points to a directory, either on the local
filesystem or on some server, containing tarballs for all of Spack's
packages.
Here's an example of a mirror's directory structure::
Here's an example of a mirror's directory structure:
mirror/
cmake/
cmake-2.8.10.2.tar.gz
dyninst/
dyninst-8.1.1.tgz
dyninst-8.1.2.tgz
libdwarf/
libdwarf-20130126.tar.gz
libdwarf-20130207.tar.gz
libdwarf-20130729.tar.gz
libelf/
libelf-0.8.12.tar.gz
libelf-0.8.13.tar.gz
libunwind/
libunwind-1.1.tar.gz
mpich/
mpich-3.0.4.tar.gz
mvapich2/
mvapich2-1.9.tgz
.. code-block:: none
mirror/
cmake/
cmake-2.8.10.2.tar.gz
dyninst/
dyninst-8.1.1.tgz
dyninst-8.1.2.tgz
libdwarf/
libdwarf-20130126.tar.gz
libdwarf-20130207.tar.gz
libdwarf-20130729.tar.gz
libelf/
libelf-0.8.12.tar.gz
libelf-0.8.13.tar.gz
libunwind/
libunwind-1.1.tar.gz
mpich/
mpich-3.0.4.tar.gz
mvapich2/
mvapich2-1.9.tgz
The structure is very simple. There is a top-level directory. The
second level directories are named after packages, and the third level
@@ -38,7 +41,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
@@ -49,27 +52,16 @@ contains tarballs for each package, named after each package.
not standardize on a particular compression algorithm, because this
would potentially require expanding and re-compressing each archive.
.. _spack-mirror:
.. _cmd-spack-mirror:
----------------
``spack mirror``
----------------------------
----------------
Mirrors are managed with the ``spack mirror`` command. The help for
``spack mirror`` looks like this::
``spack mirror`` looks like this:
$ spack mirror -h
usage: spack mirror [-h] SUBCOMMAND ...
positional arguments:
SUBCOMMAND
create Create a directory to be used as a spack mirror, and fill
it with package archives.
add Add a mirror to Spack.
remove Remove a mirror by name.
list Print out available mirrors to the console.
optional arguments:
-h, --help show this help message and exit
.. command-output:: spack help mirror
The ``create`` command actually builds a mirror by fetching all of its
packages from the internet and checksumming them.
@@ -79,8 +71,9 @@ control the URL(s) from which Spack downloads its packages.
.. _spack-mirror-create:
-----------------------
``spack mirror create``
----------------------------
-----------------------
You can create a mirror using the ``spack mirror create`` command, assuming
you're on a machine where you can access the internet.
@@ -89,8 +82,7 @@ The command will iterate through all of Spack's packages and download
the safe ones into a directory structure like the one above. Here is
what it looks like:
.. code-block:: bash
.. code-block:: console
$ spack mirror create libelf libdwarf
==> Created new mirror in spack-mirror-2014-06-24
@@ -124,25 +116,31 @@ what it looks like:
Once this is done, you can tar up the ``spack-mirror-2014-06-24`` directory and
copy it over to the machine you want it hosted on.
^^^^^^^^^^^^^^^^^^^
Custom package sets
~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^^^^^^^^
Normally, ``spack mirror create`` downloads all the archives it has
checksums for. If you want to only create a mirror for a subset of
packages, you can do that by supplying a list of package specs on the
command line after ``spack mirror create``. For example, this
command::
command:
$ spack mirror create libelf@0.8.12: boost@1.44:
.. code-block:: console
$ spack mirror create libelf@0.8.12: boost@1.44:
Will create a mirror for libelf versions greater than or equal to
0.8.12 and boost versions greater than or equal to 1.44.
^^^^^^^^^^^^
Mirror files
~~~~~~~~~~~~~~~~~~~~~~~
^^^^^^^^^^^^
If you have a *very* large number of packages you want to mirror, you
can supply a file with specs in it, one per line::
can supply a file with specs in it, one per line:
.. code-block:: console
$ cat specs.txt
libdwarf
@@ -150,7 +148,7 @@ can supply a file with specs in it, one per line::
boost@1.44:
boost@1.39.0
...
$ spack mirror create -f specs.txt
$ spack mirror create --file specs.txt
...
This is useful if there is a specific suite of software managed by
@@ -158,60 +156,90 @@ your site.
.. _spack-mirror-add:
--------------------
``spack mirror add``
----------------------------
--------------------
Once you have a mirror, you need to let spack know about it. This is
relatively simple. First, figure out the URL for the mirror. If it's
a file, you can use a file URL like this one::
a directory, you can use a file URL like this one:
file:///Users/gamblin2/spack-mirror-2014-06-24
.. code-block:: none
file://~/spack-mirror-2014-06-24
That points to the directory on the local filesystem. If it were on a
web server, you could use a URL like this one:
https://example.com/some/web-hosted/directory/spack-mirror-2014-06-24
https://example.com/some/web-hosted/directory/spack-mirror-2014-06-24
Spack will use the URL as the root for all of the packages it fetches.
You can tell your Spack installation to use that mirror like this:
.. code-block:: bash
.. code-block:: console
$ spack mirror add local_filesystem file:///Users/gamblin2/spack-mirror-2014-06-24
$ spack mirror add local_filesystem file://~/spack-mirror-2014-06-24
Each mirror has a name so that you can refer to it again later.
.. _spack-mirror-list:
---------------------
``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``:
.. code-block:: console
$ spack mirror list
local_filesystem file:///Users/gamblin2/spack-mirror-2014-06-24
local_filesystem file://~/spack-mirror-2014-06-24
.. _spack-mirror-remove:
-----------------------
``spack mirror remove``
----------------------------
-----------------------
And, if you want to remove a mirror, just remove it by name::
To remove a mirror by name, run:
.. code-block:: console
$ spack mirror remove local_filesystem
$ spack mirror list
==> No mirrors configured.
-----------------
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
.. code-block:: yaml
mirrors:
local_filesystem: file://~/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:`clean <cmd-spack-clean>`; 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

@@ -0,0 +1,989 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="682"
height="382"
id="svg3341"
inkscape:version="0.48.4 r9939"
sodipodi:docname="module_file_generation.svg">
<metadata
id="metadata3657">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
</cc:Work>
</rdf:RDF>
</metadata>
<sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="1920"
inkscape:window-height="1134"
id="namedview3655"
showgrid="false"
inkscape:zoom="2.0073314"
inkscape:cx="341"
inkscape:cy="191"
inkscape:window-x="1920"
inkscape:window-y="27"
inkscape:window-maximized="1"
inkscape:current-layer="g3345" />
<defs
id="defs3343" />
<g
inkscape:groupmode="layer"
id="layer1"
inkscape:label="Background">
<rect
style="fill:none;stroke:#ff0000;stroke-width:1.40437257;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:8.42623582, 8.42623582;stroke-dashoffset:0"
id="rect3844"
width="442.15341"
height="375.15021"
x="18.745768"
y="3.2206354" />
<rect
style="fill:none;stroke:#0000ff;stroke-width:1.50000000000000000;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:9, 9;stroke-dashoffset:0"
id="rect3844-6"
width="175.74904"
height="179.83459"
x="486.96402"
y="179.3212" />
</g>
<g
id="g3345">
<g
transform="translate(-246,-214) scale(1,1)"
id="g3347">
<rect
fill="#C0C0C0"
stroke="none"
x="297"
y="231"
width="198"
height="104"
opacity="0.2"
id="rect3349" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3351">
<rect
fill="#ffffff"
stroke="none"
x="290"
y="224"
width="198"
height="104"
id="rect3353" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3355">
<path
fill="none"
stroke="#000000"
d="M 290 224 L 488 224 L 488 328 L 290 328 L 290 224 Z Z"
stroke-miterlimit="10"
id="path3357" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3359">
<rect
fill="#ffffff"
stroke="none"
x="280"
y="231"
width="20"
height="10"
id="rect3361" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3363">
<path
fill="none"
stroke="#000000"
d="M 280 231 L 300 231 L 300 241 L 280 241 L 280 231 Z Z"
stroke-miterlimit="10"
id="path3365" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3367">
<rect
fill="#ffffff"
stroke="none"
x="280"
y="251"
width="20"
height="10"
id="rect3369" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3371">
<path
fill="none"
stroke="#000000"
d="M 280 251 L 300 251 L 300 261 L 280 261 L 280 251 Z Z"
stroke-miterlimit="10"
id="path3373" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3375">
<g
id="g3377">
<path
fill="none"
stroke="none"
id="path3379" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="343"
y="243.5"
id="text3381">Configuration files</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3383">
<rect
fill="#C0C0C0"
stroke="none"
x="327"
y="263"
width="98"
height="24"
opacity="0.2"
id="rect3385" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3387">
<rect
fill="#ffffff"
stroke="none"
x="320"
y="256"
width="98"
height="24"
id="rect3389" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3391">
<path
fill="none"
stroke="#000000"
d="M 320 256 L 418 256 L 418 280 L 320 280 L 320 256 Z Z"
stroke-miterlimit="10"
id="path3393" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3395">
<rect
fill="#ffffff"
stroke="none"
x="320"
y="256"
width="98"
height="24"
id="rect3397" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3399">
<path
fill="none"
stroke="#000000"
d="M 320 256 L 418 256 L 418 280 L 320 280 L 320 256 Z Z"
stroke-miterlimit="10"
id="path3401" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3403">
<g
id="g3405"
transform="translate(-2.8259277,-4.138916)">
<path
id="path3407"
d=""
inkscape:connector-curvature="0"
style="fill:none;stroke:none" />
<text
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="328.5"
y="275.5"
id="text3409"
style="font-size:13px;font-style:normal;font-weight:bold;text-decoration:none;fill:#000000;stroke:none;font-family:Arial">modules.yaml</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3411">
<rect
fill="#C0C0C0"
stroke="none"
x="335"
y="295"
width="83"
height="24"
opacity="0.2"
id="rect3413" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3415">
<rect
fill="#ffffff"
stroke="none"
x="328"
y="288"
width="83"
height="24"
id="rect3417" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3419">
<path
fill="none"
stroke="#000000"
d="M 328 288 L 411 288 L 411 312 L 328 312 L 328 288 Z Z"
stroke-miterlimit="10"
id="path3421" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3423">
<rect
fill="#ffffff"
stroke="none"
x="328"
y="288"
width="83"
height="24"
id="rect3425" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3427">
<path
fill="none"
stroke="#000000"
d="M 328 288 L 411 288 L 411 312 L 328 312 L 328 288 Z Z"
stroke-miterlimit="10"
id="path3429" />
</g>
<g
transform="translate(-248.92773,-218.16748)"
id="g3431">
<g
id="g3433">
<path
id="path3435"
d=""
inkscape:connector-curvature="0"
style="fill:none;stroke:none" />
<text
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="336.5"
y="307.5"
id="text3437"
style="font-size:13px;font-style:normal;font-weight:bold;text-decoration:none;fill:#000000;stroke:none;font-family:Arial">config.yaml</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3439">
<rect
fill="#C0C0C0"
stroke="none"
x="489"
y="407"
width="198"
height="72"
opacity="0.2"
id="rect3441" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3443">
<rect
fill="#ffffff"
stroke="none"
x="482"
y="400"
width="198"
height="72"
id="rect3445" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3447">
<path
fill="none"
stroke="#000000"
d="M 482 400 L 680 400 L 680 472 L 482 472 L 482 400 Z Z"
stroke-miterlimit="10"
id="path3449" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3451">
<rect
fill="#ffffff"
stroke="none"
x="472"
y="407"
width="20"
height="10"
id="rect3453" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3455">
<path
fill="none"
stroke="#000000"
d="M 472 407 L 492 407 L 492 417 L 472 417 L 472 407 Z Z"
stroke-miterlimit="10"
id="path3457" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3459">
<rect
fill="#ffffff"
stroke="none"
x="472"
y="427"
width="20"
height="10"
id="rect3461" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3463">
<path
fill="none"
stroke="#000000"
d="M 472 427 L 492 427 L 492 437 L 472 437 L 472 427 Z Z"
stroke-miterlimit="10"
id="path3465" />
</g>
<g
transform="translate(-255.37842,-194.16748)"
id="g3467">
<g
id="g3469">
<path
id="path3471"
d=""
inkscape:connector-curvature="0"
style="fill:none;stroke:none" />
<text
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="528"
y="419.5"
id="text3473"
style="font-size:13px;font-style:normal;font-weight:bold;text-decoration:none;fill:#000000;stroke:none;font-family:Arial">Module subpackage</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3475">
<path
fill="none"
stroke="#000000"
d="M 369 313 L 368 440 L 471 438"
stroke-miterlimit="10"
stroke-dasharray="3"
id="path3477" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3479">
<path
fill="none"
stroke="#000000"
d="M 460.9209632639215 442.4060207072573 L 471 438 L 460.7575176559406 433.98857189624056"
stroke-miterlimit="10"
id="path3481" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3483">
<path
fill="#ffffff"
stroke="none"
d="M 256 448 L 381 448 L 391 458 L 391 496 L 256 496 L 256 448"
id="path3485" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3487">
<path
fill="none"
stroke="#000000"
d="M 256 448 L 381 448 L 391 458 L 391 496 L 256 496 L 256 448 L 256 448"
stroke-miterlimit="10"
id="path3489" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3491">
<path
fill="none"
stroke="#000000"
d="M 381 448 L 381 458 L 391 458 L 381 448"
stroke-miterlimit="10"
id="path3493" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3495">
<g
id="g3497">
<path
fill="none"
stroke="none"
id="path3499" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="normal"
text-decoration="none"
x="261"
y="466"
id="text3501">template directory</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3503">
<g
id="g3505">
<path
fill="none"
stroke="none"
id="path3507" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="normal"
text-decoration="none"
x="261"
y="481"
id="text3509">module file directory</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3511">
<path
fill="none"
stroke="#000000"
d="M 419 439 L 393 448"
stroke-miterlimit="10"
stroke-dasharray="3"
id="path3513" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3515">
<path
d="M 419,267 576.40856,267.26845 576,399"
stroke-miterlimit="10"
id="path3517"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000;stroke-miterlimit:10;stroke-dasharray:3"
sodipodi:nodetypes="ccc" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3519">
<path
fill="none"
stroke="#000000"
d="M 571.790482243984 388.83732514237585 L 576 399 L 580.209517756016 388.83732514237585"
stroke-miterlimit="10"
id="path3521" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3523">
<path
fill="#ffffff"
stroke="none"
d="M 600 296 L 737 296 L 747 306 L 747 344 L 600 344 L 600 296"
id="path3525" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3527">
<path
fill="none"
stroke="#000000"
d="M 600 296 L 737 296 L 747 306 L 747 344 L 600 344 L 600 296 L 600 296"
stroke-miterlimit="10"
id="path3529" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3531">
<path
fill="none"
stroke="#000000"
d="M 737 296 L 737 306 L 747 306 L 737 296"
stroke-miterlimit="10"
id="path3533" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3535">
<g
id="g3537">
<path
fill="none"
stroke="none"
id="path3539" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="normal"
text-decoration="none"
x="605"
y="314"
id="text3541">content customization</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3543">
<g
id="g3545">
<path
fill="none"
stroke="none"
id="path3547" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="normal"
text-decoration="none"
x="605"
y="329"
id="text3549">layout customization</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3551">
<path
fill="none"
stroke="#000000"
d="M 576 331 L 599 328"
stroke-miterlimit="10"
stroke-dasharray="3"
id="path3553" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3555">
<rect
fill="#C0C0C0"
stroke="none"
x="801"
y="415"
width="99"
height="44"
opacity="0.2"
id="rect3557" />
</g>
<g
transform="translate(-246,-210)"
id="g3559">
<rect
x="794"
y="408"
width="99"
height="44"
id="rect3561"
style="fill:#ffffff;stroke:none" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3563">
<path
fill="none"
stroke="#000000"
d="M 794 408 L 893 408 L 893 452 L 794 452 L 794 408 Z Z"
stroke-miterlimit="10"
id="path3565" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3567">
<rect
fill="#ffffff"
stroke="none"
x="784"
y="415"
width="20"
height="10"
id="rect3569" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3571">
<path
fill="none"
stroke="#000000"
d="M 784 415 L 804 415 L 804 425 L 784 425 L 784 415 Z Z"
stroke-miterlimit="10"
id="path3573" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3575">
<rect
fill="#ffffff"
stroke="none"
x="784"
y="435"
width="20"
height="10"
id="rect3577" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3579">
<path
fill="none"
stroke="#000000"
d="M 784 435 L 804 435 L 804 445 L 784 445 L 784 435 Z Z"
stroke-miterlimit="10"
id="path3581" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3583">
<g
id="g3585"
transform="translate(-6.7685547,5.861084)">
<path
id="path3587"
d=""
inkscape:connector-curvature="0"
style="fill:none;stroke:none" />
<text
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="832"
y="427.5"
id="text3589"
style="font-size:13px;font-style:normal;font-weight:bold;text-decoration:none;fill:#000000;stroke:none;font-family:Arial">Jinja2</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3591">
<path
fill="#C0C0C0"
stroke="none"
d="M 568.9 519 L 596.34 519 L 608.1 530.76 L 608.1 568 L 568.9 568"
opacity="0.2"
id="path3593" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3595">
<path
fill="#ffffff"
stroke="none"
d="M 561.9 512 L 589.34 512 L 601.1 523.76 L 601.1 561 L 561.9 561"
id="path3597" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3599">
<path
fill="none"
stroke="#000000"
d="M 561.9 512 L 589.34 512 L 601.1 523.76 L 601.1 561 L 561.9 561 L 561.9 512"
stroke-miterlimit="10"
id="path3601" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3603">
<path
fill="none"
stroke="#000000"
d="M 589.34 512 L 589.34 523.76 L 601.1 523.76 L 589.34 512"
stroke-miterlimit="10"
id="path3605" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3607">
<g
id="g3609">
<path
fill="none"
stroke="none"
id="path3611" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="551.5"
y="580.5"
id="text3613">Templates</text>
</g>
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3615">
<path
d="M 620,549 836.73155,549.54866 838,453"
stroke-miterlimit="10"
id="path3617"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000;stroke-miterlimit:10;stroke-dasharray:3"
sodipodi:nodetypes="ccc" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3619">
<path
fill="none"
stroke="#000000"
d="M 842.4139237018308 463.0755782739462 L 838 453 L 833.9966056593214 463.2456251030878"
stroke-miterlimit="10"
id="path3621" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3623">
<path
d="M 680.18289,431.54866 783,431"
stroke-miterlimit="10"
id="path3625"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000;stroke-miterlimit:10;stroke-dasharray:3"
sodipodi:nodetypes="cc" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3627">
<path
fill="none"
stroke="#000000"
d="M 772.9654737429415 435.5064712133113 L 783 431 L 772.7179620834851 427.0910747917938"
stroke-miterlimit="10"
id="path3629" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3631">
<path
fill="#C0C0C0"
stroke="none"
d="M 862.4 247 L 889.84 247 L 901.6 258.76 L 901.6 296 L 862.4 296"
opacity="0.2"
id="path3633" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3635">
<path
fill="#ffffff"
stroke="none"
d="M 855.4 240 L 882.84 240 L 894.6 251.76000000000002 L 894.6 289 L 855.4 289"
id="path3637" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3639">
<path
fill="none"
stroke="#000000"
d="M 855.4 240 L 882.84 240 L 894.6 251.76000000000002 L 894.6 289 L 855.4 289 L 855.4 240"
stroke-miterlimit="10"
id="path3641" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3643">
<path
fill="none"
stroke="#000000"
d="M 882.84 240 L 882.84 251.76000000000002 L 894.6 251.76000000000002 L 882.84 240"
stroke-miterlimit="10"
id="path3645" />
</g>
<g
transform="translate(-246,-214) scale(1,1)"
id="g3647">
<g
id="g3649">
<path
fill="none"
stroke="none"
id="path3651" />
<text
fill="#000000"
stroke="none"
font-family="Arial"
font-size="13px"
font-style="normal"
font-weight="bold"
text-decoration="none"
x="840.5"
y="308.5"
id="text3653">Module files</text>
</g>
</g>
<g
transform="translate(-261.34866,-222.82727)"
id="g3635-8">
<path
style="fill:#ffffff;stroke:none"
inkscape:connector-curvature="0"
d="m 855.4,240 27.44,0 11.76,11.76 0,37.24 -39.2,0"
id="path3637-9" />
</g>
<g
transform="translate(-261.34866,-222.82727)"
id="g3639-7">
<path
style="fill:none;stroke:#000000;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 855.4,240 27.44,0 11.76,11.76 0,37.24 -39.2,0 0,-49"
stroke-miterlimit="10"
id="path3641-3" />
</g>
<g
transform="translate(-261.34866,-222.82727)"
id="g3643-6">
<path
style="fill:none;stroke:#000000;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 882.84,240 0,11.76 11.76,0 L 882.84,240"
stroke-miterlimit="10"
id="path3645-1" />
</g>
<g
transform="translate(-278.09946,-233.44973)"
id="g3635-84">
<path
style="fill:#ffffff;stroke:none"
inkscape:connector-curvature="0"
d="m 855.4,240 27.44,0 11.76,11.76 0,37.24 -39.2,0"
id="path3637-5" />
</g>
<g
transform="translate(-278.09946,-233.44973)"
id="g3639-0">
<path
style="fill:none;stroke:#000000;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 855.4,240 27.44,0 11.76,11.76 0,37.24 -39.2,0 0,-49"
stroke-miterlimit="10"
id="path3641-36" />
</g>
<g
transform="translate(-278.09946,-233.44973)"
id="g3643-1">
<path
style="fill:none;stroke:#000000;stroke-miterlimit:10"
inkscape:connector-curvature="0"
d="m 882.84,240 0,11.76 11.76,0 L 882.84,240"
stroke-miterlimit="10"
id="path3645-0" />
</g>
<g
transform="translate(-27.431351,-208.3001)"
id="g3375-6" />
<g
id="g4709"
transform="matrix(1,0,0,0.81117898,54.337968,31.640263)">
<g
id="g3623-5"
transform="matrix(0,-1,1,0,121.9107,875.37876)">
<path
sodipodi:nodetypes="cc"
style="fill:none;stroke:#000000;stroke-miterlimit:10;stroke-dasharray:3"
inkscape:connector-curvature="0"
id="path3625-4"
stroke-miterlimit="10"
d="M 680.18289,431.54866 783,431" />
</g>
<g
id="g3627-7"
transform="matrix(0,-1,1,0,121.98695,871.00978)">
<path
id="path3629-6"
stroke-miterlimit="10"
d="M 772.96547,435.50647 783,431 772.71796,427.09107"
inkscape:connector-curvature="0"
style="fill:none;stroke:#000000;stroke-miterlimit:10" />
</g>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -0,0 +1,671 @@
.. _modules:
=======
Modules
=======
The use of module systems to manage user environment in a controlled way
is a common practice at HPC centers that is often embraced also by individual
programmers on their development machines. To support this common practice
Spack integrates with `Environment Modules
<http://modules.sourceforge.net/>`_ , `LMod
<http://lmod.readthedocs.io/en/latest/>`_ and `Dotkit <https://computing.llnl.gov/?set=jobs&page=dotkit>`_ by
providing post-install hooks that generate module files and commands to manipulate them.
.. note::
If your machine does not already have a module system installed,
we advise you to use either Environment Modules or LMod. See :ref:`InstallEnvironmentModules`
for more details.
.. _shell-support:
----------------------------
Using module files via Spack
----------------------------
If you have installed a supported module system either manually or through
``spack bootstrap``, you should be able to run either ``module avail`` or
``use -l spack`` to see what module files have been installed. Here is
sample output of those programs, showing lots of installed packages:
.. code-block:: console
$ module avail
--------------------------------------------------------------- ~/spack/share/spack/modules/linux-ubuntu14-x86_64 ---------------------------------------------------------------
autoconf-2.69-gcc-4.8-qextxkq hwloc-1.11.6-gcc-6.3.0-akcisez m4-1.4.18-gcc-4.8-ev2znoc openblas-0.2.19-gcc-6.3.0-dhkmed6 py-setuptools-34.2.0-gcc-6.3.0-fadur4s
automake-1.15-gcc-4.8-maqvukj isl-0.18-gcc-4.8-afi6taq m4-1.4.18-gcc-6.3.0-uppywnz openmpi-2.1.0-gcc-6.3.0-go2s4z5 py-six-1.10.0-gcc-6.3.0-p4dhkaw
binutils-2.28-gcc-4.8-5s7c6rs libiconv-1.15-gcc-4.8-at46wg3 mawk-1.3.4-gcc-4.8-acjez57 openssl-1.0.2k-gcc-4.8-dkls5tk python-2.7.13-gcc-6.3.0-tyehea7
bison-3.0.4-gcc-4.8-ek4luo5 libpciaccess-0.13.4-gcc-6.3.0-gmufnvh mawk-1.3.4-gcc-6.3.0-ostdoms openssl-1.0.2k-gcc-6.3.0-gxgr5or readline-7.0-gcc-4.8-xhufqhn
bzip2-1.0.6-gcc-4.8-iffrxzn libsigsegv-2.11-gcc-4.8-pp2cvte mpc-1.0.3-gcc-4.8-g5mztc5 pcre-8.40-gcc-4.8-r5pbrxb readline-7.0-gcc-6.3.0-zzcyicg
bzip2-1.0.6-gcc-6.3.0-bequudr libsigsegv-2.11-gcc-6.3.0-7enifnh mpfr-3.1.5-gcc-4.8-o7xm7az perl-5.24.1-gcc-4.8-dg5j65u sqlite-3.8.5-gcc-6.3.0-6zoruzj
cmake-3.7.2-gcc-6.3.0-fowuuby libtool-2.4.6-gcc-4.8-7a523za mpich-3.2-gcc-6.3.0-dmvd3aw perl-5.24.1-gcc-6.3.0-6uzkpt6 tar-1.29-gcc-4.8-wse2ass
curl-7.53.1-gcc-4.8-3fz46n6 libtool-2.4.6-gcc-6.3.0-n7zmbzt ncurses-6.0-gcc-4.8-dcpe7ia pkg-config-0.29.2-gcc-4.8-ib33t75 tcl-8.6.6-gcc-4.8-tfxzqbr
expat-2.2.0-gcc-4.8-mrv6bd4 libxml2-2.9.4-gcc-4.8-ryzxnsu ncurses-6.0-gcc-6.3.0-ucbhcdy pkg-config-0.29.2-gcc-6.3.0-jpgubk3 util-macros-1.19.1-gcc-6.3.0-xorz2x2
flex-2.6.3-gcc-4.8-yf345oo libxml2-2.9.4-gcc-6.3.0-rltzsdh netlib-lapack-3.6.1-gcc-6.3.0-js33dog py-appdirs-1.4.0-gcc-6.3.0-jxawmw7 xz-5.2.3-gcc-4.8-mew4log
gcc-6.3.0-gcc-4.8-24puqve lmod-7.4.1-gcc-4.8-je4srhr netlib-scalapack-2.0.2-gcc-6.3.0-5aidk4l py-numpy-1.12.0-gcc-6.3.0-oemmoeu xz-5.2.3-gcc-6.3.0-3vqeuvb
gettext-0.19.8.1-gcc-4.8-yymghlh lua-5.3.4-gcc-4.8-im75yaz netlib-scalapack-2.0.2-gcc-6.3.0-hjsemcn py-packaging-16.8-gcc-6.3.0-i2n3dtl zip-3.0-gcc-4.8-rwar22d
gmp-6.1.2-gcc-4.8-5ub2wu5 lua-luafilesystem-1_6_3-gcc-4.8-wkey3nl netlib-scalapack-2.0.2-gcc-6.3.0-jva724b py-pyparsing-2.1.10-gcc-6.3.0-tbo6gmw zlib-1.2.11-gcc-4.8-pgxsxv7
help2man-1.47.4-gcc-4.8-kcnqmau lua-luaposix-33.4.0-gcc-4.8-mdod2ry netlib-scalapack-2.0.2-gcc-6.3.0-rgqfr6d py-scipy-0.19.0-gcc-6.3.0-kr7nat4 zlib-1.2.11-gcc-6.3.0-7cqp6cj
The names should look familiar, as they resemble the output from ``spack find``.
You *can* use the modules here directly. For example, you could type either of these commands
to load the ``cmake`` module:
.. code-block:: console
$ use cmake-3.7.2-gcc-6.3.0-fowuuby
.. code-block:: console
$ module load cmake-3.7.2-gcc-6.3.0-fowuuby
Neither of these is particularly pretty, easy to remember, or
easy to type. Luckily, Spack has its own interface for using modules and dotkits.
^^^^^^^^^^^^^
Shell support
^^^^^^^^^^^^^
To enable additional Spack commands for loading and unloading module files,
and to add the correct path to ``MODULEPATH``, you need to source the appropriate
setup file in the ``$SPACK_ROOT/share/spack`` directory. This will activate shell
support for the commands that need it. For ``bash``, ``ksh`` or ``zsh`` users:
.. code-block:: console
$ . ${SPACK_ROOT}/share/spack/setup-env.sh
For ``csh`` and ``tcsh`` instead:
.. code-block:: console
$ set SPACK_ROOT ...
$ source $SPACK_ROOT/share/spack/setup-env.csh
Note that in the latter case it is necessary to explicitly set ``SPACK_ROOT``
before sourcing the setup file (you will get a meaningful error message
if you don't).
When ``bash`` and ``ksh`` users update their environment with ``setup-env.sh``, it will check for spack-installed environment modules and add the ``module`` command to their environment; This only occurs if the module command is not already available. You can install ``environment-modules`` with ``spack bootstrap`` as described in :ref:`InstallEnvironmentModules`.
Finally, if you want to have Spack's shell support available on the command line at
any login you can put this source line in one of the files that are sourced
at startup (like ``.profile``, ``.bashrc`` or ``.cshrc``). Be aware though
that the startup time may be slightly increased because of that.
.. _cmd-spack-load:
^^^^^^^^^^^^^^^^^^^^^^^
``spack load / unload``
^^^^^^^^^^^^^^^^^^^^^^^
Once you have shell support enabled you can use the same spec syntax
you're used to:
========================= ==========================
Modules Dotkit
========================= ==========================
``spack load <spec>`` ``spack use <spec>``
``spack unload <spec>`` ``spack unuse <spec>``
========================= ==========================
And you can use the same shortened names you use everywhere else in
Spack. For example, this will add the ``mpich`` package built with
``gcc`` to your path:
.. code-block:: console
$ spack install mpich %gcc@4.4.7
# ... wait for install ...
$ spack use mpich %gcc@4.4.7
Prepending: mpich@3.0.4%gcc@4.4.7 (ok)
$ which mpicc
~/spack/opt/linux-debian7-x86_64/gcc@4.4.7/mpich@3.0.4/bin/mpicc
Or, similarly with modules, you could type:
.. code-block:: console
$ spack load mpich %gcc@4.4.7
These commands will add appropriate directories to your ``PATH``,
``MANPATH``, ``CPATH``, and ``LD_LIBRARY_PATH``. When you no longer
want to use a package, you can type unload or unuse similarly:
.. code-block:: console
$ spack unload mpich %gcc@4.4.7 # modules
$ spack unuse mpich %gcc@4.4.7 # dotkit
.. note::
These ``use``, ``unuse``, ``load``, and ``unload`` subcommands are
only available if you have enabled Spack's shell support *and* you
have dotkit or modules installed on your machine.
^^^^^^^^^^^^^^^^^^^^^^
Ambiguous module names
^^^^^^^^^^^^^^^^^^^^^^
If a spec used with load/unload or use/unuse is ambiguous (i.e. more
than one installed package matches it), then Spack will warn you:
.. code-block:: console
$ spack load libelf
==> Error: Multiple matches for spec libelf. Choose one:
libelf@0.8.13%gcc@4.4.7 arch=linux-debian7-x86_64
libelf@0.8.13%intel@15.0.0 arch=linux-debian7-x86_64
You can either type the ``spack load`` command again with a fully
qualified argument, or you can add just enough extra constraints to
identify one package. For example, above, the key differentiator is
that one ``libelf`` is built with the Intel compiler, while the other
used ``gcc``. You could therefore just type:
.. code-block:: console
$ spack load libelf %intel
To identify just the one built with the Intel compiler.
.. _extensions:
.. _cmd-spack-module-loads:
^^^^^^^^^^^^^^^^^^^^^^
``spack module loads``
^^^^^^^^^^^^^^^^^^^^^^
In some cases, it is desirable to load not just a module, but also all
the modules it depends on. This is not required for most modules
because Spack builds binaries with RPATH support. However, not all
packages use RPATH to find their dependencies: this can be true in
particular for Python extensions, which are currently *not* built with
RPATH.
Scripts to load modules recursively may be made with the command:
.. code-block:: console
$ spack module loads --dependencies <spec>
An equivalent alternative using `process substitution <http://tldp.org/LDP/abs/html/process-sub.html>`_ is:
.. code-block :: console
$ source <( spack module loads --dependencies <spec> )
.. warning::
The ``spack load`` command does not currently accept the
``--dependencies`` flag. Use ``spack module loads`` instead, for
now.
.. See #1662
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Module Commands for Shell Scripts
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Although Spack is flexible, the ``module`` command is much faster.
This could become an issue when emitting a series of ``spack load``
commands inside a shell script. By adding the ``--shell`` flag,
``spack module find`` may also be used to generate code that can be
cut-and-pasted into a shell script. For example:
.. code-block:: console
$ spack module loads --dependencies py-numpy git
# bzip2@1.0.6%gcc@4.9.3=linux-x86_64
module load bzip2-1.0.6-gcc-4.9.3-ktnrhkrmbbtlvnagfatrarzjojmkvzsx
# ncurses@6.0%gcc@4.9.3=linux-x86_64
module load ncurses-6.0-gcc-4.9.3-kaazyneh3bjkfnalunchyqtygoe2mncv
# zlib@1.2.8%gcc@4.9.3=linux-x86_64
module load zlib-1.2.8-gcc-4.9.3-v3ufwaahjnviyvgjcelo36nywx2ufj7z
# sqlite@3.8.5%gcc@4.9.3=linux-x86_64
module load sqlite-3.8.5-gcc-4.9.3-a3eediswgd5f3rmto7g3szoew5nhehbr
# readline@6.3%gcc@4.9.3=linux-x86_64
module load readline-6.3-gcc-4.9.3-se6r3lsycrwxyhreg4lqirp6xixxejh3
# python@3.5.1%gcc@4.9.3=linux-x86_64
module load python-3.5.1-gcc-4.9.3-5q5rsrtjld4u6jiicuvtnx52m7tfhegi
# py-setuptools@20.5%gcc@4.9.3=linux-x86_64
module load py-setuptools-20.5-gcc-4.9.3-4qr2suj6p6glepnedmwhl4f62x64wxw2
# py-nose@1.3.7%gcc@4.9.3=linux-x86_64
module load py-nose-1.3.7-gcc-4.9.3-pwhtjw2dvdvfzjwuuztkzr7b4l6zepli
# openblas@0.2.17%gcc@4.9.3+shared=linux-x86_64
module load openblas-0.2.17-gcc-4.9.3-pw6rmlom7apfsnjtzfttyayzc7nx5e7y
# py-numpy@1.11.0%gcc@4.9.3+blas+lapack=linux-x86_64
module load py-numpy-1.11.0-gcc-4.9.3-mulodttw5pcyjufva4htsktwty4qd52r
# curl@7.47.1%gcc@4.9.3=linux-x86_64
module load curl-7.47.1-gcc-4.9.3-ohz3fwsepm3b462p5lnaquv7op7naqbi
# autoconf@2.69%gcc@4.9.3=linux-x86_64
module load autoconf-2.69-gcc-4.9.3-bkibjqhgqm5e3o423ogfv2y3o6h2uoq4
# cmake@3.5.0%gcc@4.9.3~doc+ncurses+openssl~qt=linux-x86_64
module load cmake-3.5.0-gcc-4.9.3-x7xnsklmgwla3ubfgzppamtbqk5rwn7t
# expat@2.1.0%gcc@4.9.3=linux-x86_64
module load expat-2.1.0-gcc-4.9.3-6pkz2ucnk2e62imwakejjvbv6egncppd
# git@2.8.0-rc2%gcc@4.9.3+curl+expat=linux-x86_64
module load git-2.8.0-rc2-gcc-4.9.3-3bib4hqtnv5xjjoq5ugt3inblt4xrgkd
The script may be further edited by removing unnecessary modules.
^^^^^^^^^^^^^^^
Module Prefixes
^^^^^^^^^^^^^^^
On some systems, modules are automatically prefixed with a certain
string; ``spack module loads`` needs to know about that prefix when it
issues ``module load`` commands. Add the ``--prefix`` option to your
``spack module loads`` commands if this is necessary.
For example, consider the following on one system:
.. code-block:: console
$ module avail
linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module loads antlr # WRONG!
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load antlr-2.7.7-gcc-5.3.0-bdpl46y
$ spack module loads --prefix linux-SuSE11-x86_64/ antlr
# antlr@2.7.7%gcc@5.3.0~csharp+cxx~java~python arch=linux-SuSE11-x86_64
module load linux-SuSE11-x86_64/antlr-2.7.7-gcc-5.3.0-bdpl46y
-------------------------
Module file customization
-------------------------
Module files are generated by post-install hooks after the successful
installation of a package. The table below summarizes the essential
information associated with the different file formats
that can be generated by Spack:
+-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
| | **Hook name** | **Default root directory** | **Default template file** | **Compatible tools** |
+=============================+====================+===============================+==================================+======================+
| **Dotkit** | ``dotkit`` | share/spack/dotkit | templates/modules/modulefile.dk | DotKit |
+-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
| **TCL - Non-Hierarchical** | ``tcl`` | share/spack/modules | templates/modules/modulefile.tcl | Env. Modules/LMod |
+-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
| **Lua - Hierarchical** | ``lmod`` | share/spack/lmod | templates/modules/modulefile.lua | LMod |
+-----------------------------+--------------------+-------------------------------+----------------------------------+----------------------+
Spack ships with sensible defaults for the generation of module files, but
you can customize many aspects of it to accommodate package or site specific needs.
In general you can override or extend the default behavior by:
1. overriding certain callback APIs in the Python packages
2. writing specific rules in the ``modules.yaml`` configuration file
3. writing your own templates to override or extend the defaults
The former method let you express changes in the run-time environment
that are needed to use the installed software properly, e.g. injecting variables
from language interpreters into their extensions. The latter two instead permit to
fine tune the filesystem layout, content and creation of module files to meet
site specific conventions.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Override API calls in ``package.py``
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
There are two methods that you can override in any ``package.py`` to affect the
content of the module files generated by Spack. The first one:
.. code-block:: python
def setup_environment(self, spack_env, run_env):
"""Set up the compile and runtime environments for a package."""
pass
can alter the content of the module file associated with the same package where it is overridden.
The second method:
.. code-block:: python
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
"""Set up the environment of packages that depend on this one"""
pass
can instead inject run-time environment modifications in the module files of packages
that depend on it. In both cases you need to fill ``run_env`` with the desired
list of environment modifications.
.. note::
The ``r`` package and callback APIs
An example in which it is crucial to override both methods
is given by the ``r`` package. This package installs libraries and headers
in non-standard locations and it is possible to prepend the appropriate directory
to the corresponding environment variables:
================== =================================
LIBRARY_PATH ``self.prefix/rlib/R/lib``
LD_LIBRARY_PATH ``self.prefix/rlib/R/lib``
CPATH ``self.prefix/rlib/R/include``
================== =================================
with the following snippet:
.. literalinclude:: ../../../var/spack/repos/builtin/packages/r/package.py
:pyobject: R.setup_environment
The ``r`` package also knows which environment variable should be modified
to make language extensions provided by other packages available, and modifies
it appropriately in the override of the second method:
.. literalinclude:: ../../../var/spack/repos/builtin/packages/r/package.py
:pyobject: R.setup_dependent_environment
.. _modules-yaml:
^^^^^^^^^^^^^^^^^^^^^^^^^^
Write a configuration file
^^^^^^^^^^^^^^^^^^^^^^^^^^
The configuration files that control module generation behavior
are named ``modules.yaml``. The default configuration:
.. literalinclude:: ../../../etc/spack/defaults/modules.yaml
:language: yaml
activates the hooks to generate ``tcl`` and ``dotkit`` module files and inspects
the installation folder of each package for the presence of a set of subdirectories
(``bin``, ``man``, ``share/man``, etc.). If any is found its full path is prepended
to the environment variables listed below the folder name.
""""""""""""""""""""
Activate other hooks
""""""""""""""""""""
Any other module file generator shipped with Spack can be activated adding it to the
list under the ``enable`` key in the module file. Currently the only generator that
is not active by default is ``lmod``, which produces hierarchical lua module files.
Each module system can then be configured separately. In fact, you should list configuration
options that affect a particular type of module files under a top level key corresponding
to the generator being customized:
.. code-block:: yaml
modules:
enable:
- tcl
- dotkit
- lmod
tcl:
# contains environment modules specific customizations
dotkit:
# contains dotkit specific customizations
lmod:
# contains lmod specific customizations
In general, the configuration options that you can use in ``modules.yaml`` will
either change the layout of the module files on the filesystem, or they will affect
their content. For the latter point it is possible to use anonymous specs
to fine tune the set of packages on which the modifications should be applied.
.. _anonymous_specs:
""""""""""""""""""""""""""""
Selection by anonymous specs
""""""""""""""""""""""""""""
In the configuration file you can use *anonymous specs* (i.e. specs
that **are not required to have a root package** and are thus used just
to express constraints) to apply certain modifications on a selected set
of the installed software. For instance, in the snippet below:
.. code-block:: yaml
modules:
tcl:
# The keyword `all` selects every package
all:
environment:
set:
BAR: 'bar'
# This anonymous spec selects any package that
# depends on openmpi. The double colon at the
# end clears the set of rules that matched so far.
^openmpi::
environment:
set:
BAR: 'baz'
# Selects any zlib package
zlib:
environment:
prepend_path:
LD_LIBRARY_PATH: 'foo'
# Selects zlib compiled with gcc@4.8
zlib%gcc@4.8:
environment:
unset:
- FOOBAR
you are instructing Spack to set the environment variable ``BAR=bar`` for every module,
unless the associated spec satisfies ``^openmpi`` in which case ``BAR=baz``.
In addition in any spec that satisfies ``zlib`` the value ``foo`` will be
prepended to ``LD_LIBRARY_PATH`` and in any spec that satisfies ``zlib%gcc@4.8``
the variable ``FOOBAR`` will be unset.
.. note::
Order does matter
The modifications associated with the ``all`` keyword are always evaluated
first, no matter where they appear in the configuration file. All the other
spec constraints are instead evaluated top to bottom.
""""""""""""""""""""""""""""""""""""""""""""
Blacklist or whitelist specific module files
""""""""""""""""""""""""""""""""""""""""""""
You can use anonymous specs also to prevent module files from being written or
to force them to be written. Consider the case where you want to hide from users
all the boilerplate software that you had to build in order to bootstrap a new
compiler. Suppose for instance that ``gcc@4.4.7`` is the compiler provided by
your system. If you write a configuration file like:
.. code-block:: yaml
modules:
tcl:
whitelist: ['gcc', 'llvm'] # Whitelist will have precedence over blacklist
blacklist: ['%gcc@4.4.7'] # Assuming gcc@4.4.7 is the system compiler
you will prevent the generation of module files for any package that
is compiled with ``gcc@4.4.7``, with the only exception of any ``gcc``
or any ``llvm`` installation.
"""""""""""""""""""""""""""
Customize the naming scheme
"""""""""""""""""""""""""""
The names of environment modules generated by spack are not always easy to
fully comprehend due to the long hash in the name. There are two module
configuration options to help with that. The first is a global setting to
adjust the hash length. It can be set anywhere from 0 to 32 and has a default
length of 7. This is the representation of the hash in the module file name and
does not affect the size of the package hash. Be aware that the smaller the
hash length the more likely naming conflicts will occur. The following snippet
shows how to set hash length in the module file names:
.. code-block:: yaml
modules:
tcl:
hash_length: 7
To help make module names more readable, and to help alleviate name conflicts
with a short hash, one can use the ``suffixes`` option in the modules
configuration file. This option will add strings to modules that match a spec.
For instance, the following config options,
.. code-block:: yaml
modules:
tcl:
all:
suffixes:
^python@2.7.12: 'python-2.7.12'
^openblas: 'openblas'
will add a ``python-2.7.12`` version string to any packages compiled with
python matching the spec, ``python@2.7.12``. This is useful to know which
version of python a set of python extensions is associated with. Likewise, the
``openblas`` string is attached to any program that has openblas in the spec,
most likely via the ``+blas`` variant specification.
.. note::
TCL module files
A modification that is specific to ``tcl`` module files is the possibility
to change the naming scheme of modules.
.. code-block:: yaml
modules:
tcl:
naming_scheme: '${PACKAGE}/${VERSION}-${COMPILERNAME}-${COMPILERVER}'
all:
conflict:
- '${PACKAGE}'
- 'intel/14.0.1'
will create module files that will conflict with ``intel/14.0.1`` and with the
base directory of the same module, effectively preventing the possibility to
load two or more versions of the same software at the same time. The tokens
that are available for use in this directive are the same understood by
the ``Spec.format`` method.
.. note::
LMod hierarchical module files
When ``lmod`` is activated Spack will generate a set of hierarchical lua module
files that are understood by LMod. The hierarchy will always contain the
two layers ``Core`` / ``Compiler`` but can be further extended to
any of the virtual dependencies present in Spack. A case that could be useful in
practice is for instance:
.. code-block:: yaml
modules:
enable:
- lmod
lmod:
core_compilers:
- 'gcc@4.8'
hierarchy:
- 'mpi'
- 'lapack'
that will generate a hierarchy in which the ``lapack`` and ``mpi`` layer can be switched
independently. This allows a site to build the same libraries or applications against different
implementations of ``mpi`` and ``lapack``, and let LMod switch safely from one to the
other.
.. warning::
Deep hierarchies and ``lmod spider``
For hierarchies that are deeper than three layers ``lmod spider`` may have some issues.
See `this discussion on the LMod project <https://github.com/TACC/Lmod/issues/114>`_.
""""""""""""""""""""""""""""""""""""
Filter out environment modifications
""""""""""""""""""""""""""""""""""""
Modifications to certain environment variables in module files are there by
default, for instance because they are generated by prefix inspections.
If you want to prevent modifications to some environment variables, you can
do so by using the environment blacklist:
.. code-block:: yaml
modules:
dotkit:
all:
filter:
# Exclude changes to any of these variables
environment_blacklist: ['CPATH', 'LIBRARY_PATH']
The configuration above will generate dotkit module files that will not contain
modifications to either ``CPATH`` or ``LIBRARY_PATH`` and environment module
files that instead will contain these modifications.
"""""""""""""""""""""
Autoload dependencies
"""""""""""""""""""""
In some cases it can be useful to have module files that automatically load
their dependencies. This may be the case for Python extensions, if not
activated using ``spack activate``:
.. code-block:: yaml
modules:
tcl:
^python:
autoload: 'direct'
The configuration file above will produce module files that will
load their direct dependencies if the package installed depends on ``python``.
The allowed values for the ``autoload`` statement are either ``none``,
``direct`` or ``all``.
.. note::
TCL prerequisites
In the ``tcl`` section of the configuration file it is possible to use
the ``prerequisites`` directive that accepts the same values as
``autoload``. It will produce module files that have a ``prereq``
statement instead of automatically loading other modules.
------------------------
Maintaining Module Files
------------------------
Spack not only provides great flexibility in the generation of module files
and in the customization of both their layout and content, but also ships with
a tool to ease the burden of their maintenance in production environments.
This tool is the ``spack module`` command:
.. command-output:: spack module --help
.. _cmd-spack-module-refresh:
^^^^^^^^^^^^^^^^^^^^^^^^
``spack module refresh``
^^^^^^^^^^^^^^^^^^^^^^^^
The command that regenerates module files to update their content or
their layout is ``module refresh``:
.. command-output:: spack module refresh --help
A set of packages can be selected using anonymous specs for the optional
``constraint`` positional argument. The argument ``--module-type`` identifies
the type of module files to refresh. Optionally the entire tree can be deleted
before regeneration if the change in layout is radical.
.. _cmd-spack-module-rm:
^^^^^^^^^^^^^^^^^^^
``spack module rm``
^^^^^^^^^^^^^^^^^^^
If instead what you need is just to delete a few module files, then the right
command is ``module rm``:
.. command-output:: spack module rm --help
.. note::
We care about your module files!
Every modification done on modules
that are already existing will ask for a confirmation by default. If
the command is used in a script it is possible though to pass the
``-y`` argument, that will skip this safety measure.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,456 @@
.. _repositories:
=============================
Package Repositories
=============================
Spack comes with over 1,000 built-in package recipes in
``var/spack/repos/builtin/``. This is a **package repository** -- a
directory that Spack searches when it needs to find a package by name.
You may need to maintain packages for restricted, proprietary or
experimental software separately from the built-in repository. Spack
allows you to configure local repositories using either the
``repos.yaml`` or the ``spack repo`` command.
A package repository a directory structured like this::
repo/
repo.yaml
packages/
hdf5/
package.py
mpich/
package.py
mpich-1.9-bugfix.patch
trilinos/
package.py
...
The top-level ``repo.yaml`` file contains configuration metadata for the
repository, and the ``packages`` directory contains subdirectories for
each package in the repository. Each package directory contains a
``package.py`` file and any patches or other files needed to build the
package.
Package repositories allow you to:
1. Maintain your own packages separately from Spack;
2. Share your packages (e.g. by hosting them in a shared file system),
without committing them to the built-in Spack package repository; and
3. Override built-in Spack packages with your own implementation.
Packages in a separate repository can also *depend on* built-in Spack
packages. So, you can leverage existing recipes without re-implementing
them in your own repository.
---------------------
``repos.yaml``
---------------------
Spack uses the ``repos.yaml`` file in ``~/.spack`` (and :ref:`elsewhere
<configuration>`) to find repositories. Note that the ``repos.yaml``
configuration file is distinct from the ``repo.yaml`` file in each
repository. For more on the YAML format, and on how configuration file
precedence works in Spack, see :ref:`configuration <configuration>`.
The default ``etc/spack/defaults/repos.yaml`` file looks like this:
.. code-block:: yaml
repos:
- $spack/var/spack/repos/builtin
The file starts with ``repos:`` and contains a single ordered list of
paths to repositories. Each path is on a separate line starting with
``-``. You can add a repository by inserting another path into the list:
.. code-block:: yaml
repos:
- /opt/local-repo
- $spack/var/spack/repos/builtin
When Spack interprets a spec, e.g. ``mpich`` in ``spack install mpich``,
it searches these repositories in order (first to last) to resolve each
package name. In this example, Spack will look for the following
packages and use the first valid file:
1. ``/opt/local-repo/packages/mpich/package.py``
2. ``$spack/var/spack/repos/builtin/packages/mpich/package.py``
.. note::
Currently, Spack can only use repositories in the file system. We plan
to eventually support URLs in ``repos.yaml``, so that you can easily
point to remote package repositories, but that is not yet implemented.
---------------------
Namespaces
---------------------
Every repository in Spack has an associated **namespace** defined in its
top-level ``repo.yaml`` file. If you look at
``var/spack/repos/builtin/repo.yaml`` in the built-in repository, you'll
see that its namespace is ``builtin``:
.. code-block:: console
$ cat var/spack/repos/builtin/repo.yaml
repo:
namespace: builtin
Spack records the repository namespace of each installed package. For
example, if you install the ``mpich`` package from the ``builtin`` repo,
Spack records its fully qualified name as ``builtin.mpich``. This
accomplishes two things:
1. You can have packages with the same name from different namespaces
installed at once.
1. You can easily determine which repository a package came from after it
is installed (more :ref:`below <namespace-example>`).
.. note::
It may seem redundant for a repository to have both a namespace and a
path, but repository *paths* may change over time, or, as mentioned
above, a locally hosted repository path may eventually be hosted at
some remote URL.
Namespaces are designed to allow *package authors* to associate a
unique identifier with their packages, so that the package can be
identified even if the repository moves. This is why the namespace is
determined by the ``repo.yaml`` file in the repository rather than the
local ``repos.yaml`` configuration: the *repository maintainer* sets
the name.
^^^^^^^^^^^^^^^^^^^^^^^^^^^
Uniqueness
^^^^^^^^^^^^^^^^^^^^^^^^^^^
You should choose a namespace that uniquely identifies your package
repository. For example, if you make a repository for packages written
by your organization, you could use your organization's name. You can
also nest namespaces using periods, so you could identify a repository by
a sub-organization. For example, LLNL might use a namespace for its
internal repositories like ``llnl``. Packages from the Physical & Life
Sciences directorate (PLS) might use the ``llnl.pls`` namespace, and
packages created by the Computation directorate might use ``llnl.comp``.
Spack cannot ensure that every repository is named uniquely, but it will
prevent you from registering two repositories with the same namespace at
the same time. If you try to add a repository that has the same name as
an existing one, e.g. ``builtin``, Spack will print a warning message.
.. _namespace-example:
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Namespace example
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Suppose that LLNL maintains its own version of ``mpich``, separate from
Spack's built-in ``mpich`` package, and suppose you've installed both
LLNL's and Spack's ``mpich`` packages. If you just use ``spack find``,
you won't see a difference between these two packages:
.. code-block:: console
$ spack find
==> 2 installed packages.
-- linux-rhel6-x86_64 / gcc@4.4.7 -------------
mpich@3.2 mpich@3.2
However, if you use ``spack find -N``, Spack will display the packages
with their namespaces:
.. code-block:: console
$ spack find -N
==> 2 installed packages.
-- linux-rhel6-x86_64 / gcc@4.4.7 -------------
builtin.mpich@3.2 llnl.comp.mpich@3.2
Now you know which one is LLNL's special version, and which one is the
built-in Spack package. As you might guess, packages that are identical
except for their namespace will still have different hashes:
.. code-block:: console
$ spack find -lN
==> 2 installed packages.
-- linux-rhel6-x86_64 / gcc@4.4.7 -------------
c35p3gc builtin.mpich@3.2 itoqmox llnl.comp.mpich@3.2
All Spack commands that take a package :ref:`spec <sec-specs>` can also
accept a fully qualified spec with a namespace. This means you can use
the namespace to be more specific when designating, e.g., which package
you want to uninstall:
.. code-block:: console
spack uninstall llnl.comp.mpich
----------------------------
Overriding built-in packages
----------------------------
Spack's search semantics mean that you can make your own implementation
of a built-in Spack package (like ``mpich``), put it in a repository, and
use it to override the built-in package. As long as the repository
containing your ``mpich`` is earlier any other in ``repos.yaml``, any
built-in package that depends on ``mpich`` will be use the one in your
repository.
Suppose you have three repositories: the builtin Spack repo
(``builtin``), a shared repo for your institution (e.g., ``llnl``), and a
repo containing your own prototype packages (``proto``). Suppose they
contain packages as follows:
+--------------+------------------------------------+-----------------------------+
| Namespace | Path to repo | Packages |
+==============+====================================+=============================+
| ``proto`` | ``~/proto`` | ``mpich`` |
+--------------+------------------------------------+-----------------------------+
| ``llnl`` | ``/usr/local/llnl`` | ``hdf5`` |
+--------------+------------------------------------+-----------------------------+
| ``builtin`` | ``$spack/var/spack/repos/builtin`` | ``mpich``, ``hdf5``, others |
+--------------+------------------------------------+-----------------------------+
Suppose that ``hdf5`` depends on ``mpich``. You can override the
built-in ``hdf5`` by adding the ``llnl`` repo to ``repos.yaml``:
.. code-block:: yaml
repos:
- /usr/local/llnl
- $spack/var/spack/repos/builtin
``spack install hdf5`` will install ``llnl.hdf5 ^builtin.mpich``.
If, instead, ``repos.yaml`` looks like this:
.. code-block:: yaml
repos:
- ~/proto
- /usr/local/llnl
- $spack/var/spack/repos/builtin
``spack install hdf5`` will install ``llnl.hdf5 ^proto.mpich``.
Any unqualified package name will be resolved by searching ``repos.yaml``
from the first entry to the last. You can force a particular
repository's package by using a fully qualified name. For example, if
your ``repos.yaml`` is as above, and you want ``builtin.mpich`` instead
of ``proto.mpich``, you can write::
spack install hdf5 ^builtin.mpich
which will install ``llnl.hdf5 ^builtin.mpich``.
Similarly, you can force the ``builtin.hdf5`` like this::
spack install builtin.hdf5 ^builtin.mpich
This will not search ``repos.yaml`` at all, as the ``builtin`` repo is
specified in both cases. It will install ``builtin.hdf5
^builtin.mpich``.
If you want to see which repositories will be used in a build *before*
you install it, you can use ``spack spec -N``:
.. code-block:: console
$ spack spec -N hdf5
Input spec
--------------------------------
hdf5
Normalized
--------------------------------
hdf5
^zlib@1.1.2:
Concretized
--------------------------------
builtin.hdf5@1.10.0-patch1%clang@7.0.2-apple+cxx~debug+fortran+mpi+shared~szip~threadsafe arch=darwin-elcapitan-x86_64
^builtin.openmpi@2.0.1%clang@7.0.2-apple~mxm~pmi~psm~psm2~slurm~sqlite3~thread_multiple~tm~verbs+vt arch=darwin-elcapitan-x86_64
^builtin.hwloc@1.11.4%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.libpciaccess@0.13.4%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.libtool@2.4.6%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.m4@1.4.17%clang@7.0.2-apple+sigsegv arch=darwin-elcapitan-x86_64
^builtin.libsigsegv@2.10%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.pkg-config@0.29.1%clang@7.0.2-apple+internal_glib arch=darwin-elcapitan-x86_64
^builtin.util-macros@1.19.0%clang@7.0.2-apple arch=darwin-elcapitan-x86_64
^builtin.zlib@1.2.8%clang@7.0.2-apple+pic arch=darwin-elcapitan-x86_64
.. warning::
You *can* use a fully qualified package name in a ``depends_on``
directive in a ``package.py`` file, like so::
depends_on('proto.hdf5')
This is *not* recommended, as it makes it very difficult for
multiple repos to be composed and shared. A ``package.py`` like this
will fail if the ``proto`` repository is not registered in
``repos.yaml``.
.. _cmd-spack-repo:
--------------------------
``spack repo``
--------------------------
Spack's :ref:`configuration system <configuration>` allows repository
settings to come from ``repos.yaml`` files in many locations. If you
want to see the repositories registered as a result of all configuration
files, use ``spack repo list``.
^^^^^^^^^^^^^^^^^^^
``spack repo list``
^^^^^^^^^^^^^^^^^^^
.. code-block:: console
$ spack repo list
==> 2 package repositories.
myrepo ~/myrepo
builtin ~/spack/var/spack/repos/builtin
Each repository is listed with its associated namespace. To get the raw,
merged YAML from all configuration files, use ``spack config get repos``:
.. code-block:: console
$ spack config get repos
repos:srepos:
- ~/myrepo
- $spack/var/spack/repos/builtin
mNote that, unlike ``spack repo list``, this does not include the
namespace, which is read from each repo's ``repo.yaml``.
^^^^^^^^^^^^^^^^^^^^^
``spack repo create``
^^^^^^^^^^^^^^^^^^^^^
To make your own repository, you don't need to construct a directory
yourself; you can use the ``spack repo create`` command.
.. code-block:: console
$ spack repo create myrepo
==> Created repo with namespace 'myrepo'.
==> To register it with spack, run this command:
spack repo add ~/myrepo
$ ls myrepo
packages/ repo.yaml
$ cat myrepo/repo.yaml
repo:
namespace: 'myrepo'
By default, the namespace of a new repo matches its directory's name.
You can supply a custom namespace with a second argument, e.g.:
.. code-block:: console
$ spack repo create myrepo llnl.comp
==> Created repo with namespace 'llnl.comp'.
==> To register it with spack, run this command:
spack repo add ~/myrepo
$ cat myrepo/repo.yaml
repo:
namespace: 'llnl.comp'
^^^^^^^^^^^^^^^^^^
``spack repo add``
^^^^^^^^^^^^^^^^^^
Once your repository is created, you can register it with Spack with
``spack repo add``:
.. code-block:: console
$ spack repo add ./myrepo
==> Added repo with namespace 'llnl.comp'.
$ spack repo list
==> 2 package repositories.
llnl.comp ~/myrepo
builtin ~/spack/var/spack/repos/builtin
This simply adds the repo to your ``repos.yaml`` file.
Once a repository is registered like this, you should be able to see its
packages' names in the output of ``spack list``, and you should be able
to build them using ``spack install <name>`` as you would with any
built-in package.
^^^^^^^^^^^^^^^^^^^^^
``spack repo remove``
^^^^^^^^^^^^^^^^^^^^^
You can remove an already-registered repository with ``spack repo rm``.
This will work whether you pass the repository's namespace *or* its
path.
By namespace:
.. code-block:: console
$ spack repo rm llnl.comp
==> Removed repository ~/myrepo with namespace 'llnl.comp'.
$ spack repo list
==> 1 package repository.
builtin ~/spack/var/spack/repos/builtin
By path:
.. code-block:: console
$ spack repo rm ~/myrepo
==> Removed repository ~/myrepo
$ spack repo list
==> 1 package repository.
builtin ~/spack/var/spack/repos/builtin
--------------------------------
Repo namespaces and Python
--------------------------------
You may have noticed that namespace notation for repositories is similar
to the notation for namespaces in Python. As it turns out, you *can*
treat Spack repositories like Python packages; this is how they are
implemented.
You could, for example, extend a ``builtin`` package in your own
repository:
.. code-block:: python
from spack.pkg.builtin.mpich import Mpich
class MyPackage(Mpich):
...
Spack repo namespaces are actually Python namespaces tacked on under
``spack.pkg``. The search semantics of ``repos.yaml`` are actually
implemented using Python's built-in `sys.path
<https://docs.python.org/2/library/sys.html#sys.path>`_ search. The
:py:mod:`spack.repository` module implements a custom `Python importer
<https://docs.python.org/2/library/imp.html>`_.
.. warning::
The mechanism for extending packages is not yet extensively tested,
and extending packages across repositories imposes inter-repo
dependencies, which may be hard to manage. Use this feature at your
own risk, but let us know if you have a use case for it.

View File

@@ -0,0 +1,5 @@
# These dependencies should be installed using pip in order
# to build the documentation.
sphinx
sphinxcontrib-programoutput

View File

@@ -1,187 +0,0 @@
.. _site-configuration:
Site 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.
.. _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,54 @@
.. _spack-101:
=============================
Tutorial: Spack 101
=============================
This is a 3-hour introduction to Spack with lectures and live demos. It
was presented as a tutorial at `Supercomputing 2016
<http://sc16.supercomputing.org>`_. You can use these materials to teach
a course on Spack at your own site, or you can just skip ahead and read
the live demo scripts to see how Spack is used in practice.
.. _sc16-slides:
.. rubric:: Slides
.. figure:: tutorial/sc16-tutorial-slide-preview.png
:target: http://llnl.github.io/spack/files/Spack-SC16-Tutorial.pdf
:height: 72px
:align: left
:alt: Slide Preview
`Download Slides <http://llnl.github.io/spack/files/Spack-SC16-Tutorial.pdf>`_.
**Full citation:** Todd Gamblin, Massimiliano Culpo, Gregory Becker, Matt
Legendre, Greg Lee, Elizabeth Fischer, and Benedikt Hegner.
`Managing HPC Software Complexity with Spack
<http://sc16.supercomputing.org/presentation/?id=tut166&sess=sess209>`_.
Tutorial presented at Supercomputing 2016. November 13, 2016, Salt Lake
City, UT, USA.
.. _sc16-live-demos:
.. rubric:: Live Demos
These scripts will take you step-by-step through basic Spack tasks. They
correspond to sections in the slides above.
1. :ref:`basics-tutorial`
2. :ref:`configs-tutorial`
3. :ref:`packaging-tutorial`
4. :ref:`build-systems-tutorial`
5. :ref:`advanced-packaging-tutorial`
6. :ref:`modules-tutorial`
Full contents:
.. toctree::
tutorial_basics
tutorial_configuration
tutorial_packaging
tutorial_buildsystems
tutorial_advanced_packaging
tutorial_modules

View File

@@ -0,0 +1,58 @@
##############################################################################
# Copyright (c) 2013-2017, 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/spack/spack
# Please also see the NOTICE and LICENSE files 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
##############################################################################
#
# This is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled
# them, you can save this file and test your package like this:
#
# spack install mpileaks
#
# You can edit this file again by typing:
#
# spack edit mpileaks
#
# See the Spack documentation for more information on packaging.
# If you submit this package back to Spack as a pull request,
# please first remove this boilerplate and all FIXME comments.
#
from spack import *
class Mpileaks(Package):
"""FIXME: Put a proper description of your package here."""
# FIXME: Add a proper url for your package's homepage here.
homepage = "http://www.example.com"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
# FIXME: Add dependencies if required.
# depends_on('foo')
def install(self, spec, prefix):
# FIXME: Unknown build system
make()
make('install')

View File

@@ -0,0 +1,42 @@
##############################################################################
# Copyright (c) 2013-2017, 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/spack/spack
# Please also see the NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Mpileaks(Package):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz" # NOQA
version('1.0', '8838c574b39202a57d7c2d68692718aa')
# FIXME: Add dependencies if required.
# depends_on('foo')
def install(self, spec, prefix):
# FIXME: Unknown build system
make()
make('install')

View File

@@ -0,0 +1,44 @@
##############################################################################
# Copyright (c) 2013-2017, 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/spack/spack
# Please also see the NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Mpileaks(Package):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
depends_on('mpi')
depends_on('adept-utils')
depends_on('callpath')
def install(self, spec, prefix):
# FIXME: Unknown build system
make()
make('install')

View File

@@ -0,0 +1,44 @@
##############################################################################
# Copyright (c) 2013-2017, 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/spack/spack
# Please also see the NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Mpileaks(Package):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
depends_on('mpi')
depends_on('adept-utils')
depends_on('callpath')
def install(self, spec, prefix):
configure()
make()
make('install')

View File

@@ -0,0 +1,46 @@
##############################################################################
# Copyright (c) 2013-2017, 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/spack/spack
# Please also see the NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Mpileaks(Package):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
depends_on('mpi')
depends_on('adept-utils')
depends_on('callpath')
def install(self, spec, prefix):
configure('--with-adept-utils=%s' % self.spec['adept-utils'].prefix,
'--with-callpath=%s' % self.spec['callpath'].prefix,
'--prefix=%s' % self.spec.prefix)
make()
make('install')

View File

@@ -0,0 +1,53 @@
##############################################################################
# Copyright (c) 2013-2017, 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/spack/spack
# Please also see the NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Mpileaks(Package):
"""Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
variant('stackstart', values=int, default=0, description='Specify the number of stack frames to truncate.')
depends_on('mpi')
depends_on('adept-utils')
depends_on('callpath')
def install(self, spec, prefix):
stackstart = int(self.spec.variants['stackstart'].value)
confargs = ['--with-adept-utils=%s' % self.spec['adept-utils'].prefix,
'--with-callpath=%s' % self.spec['callpath'].prefix,
'--prefix=%s' % self.spec.prefix]
if stackstart:
confargs.extend(['--with-stack-start-c=%s' % stackstart,
'--with-stack-start-fortran=%s' % stackstart])
configure(*confargs)
make()
make('install')

View File

@@ -0,0 +1,46 @@
##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Mpileaks(AutoToolsPackage):
"""Tool to detect and report leaked MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
depends_on("mpi")
depends_on("adept-utils")
depends_on("callpath")
def install(self, spec, prefix):
configure("--prefix=" + prefix,
"--with-adept-utils=" + spec['adept-utils'].prefix,
"--with-callpath=" + spec['callpath'].prefix)
make()
make("install")

View File

@@ -0,0 +1,51 @@
##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Mpileaks(AutoToolsPackage):
"""Tool to detect and report leaked MPI objects like MPI_Requests and
MPI_Datatypes."""
homepage = "https://github.com/hpc/mpileaks"
url = "https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz"
version('1.0', '8838c574b39202a57d7c2d68692718aa')
variant("stackstart", values=int, default=0,
description="Specify the number of stack frames to truncate")
depends_on("mpi")
depends_on("adept-utils")
depends_on("callpath")
def configure_args(self):
stackstart = int(self.spec.variants['stackstart'].value)
args = ["--with-adept-utils=" + spec['adept-utils'].prefix,
"--with-callpath=" + spec['callpath'].prefix]
if stackstart:
args.extend(['--with-stack-start-c=%s' % stackstart,
'--with-stack-start-fortran=%s' % stackstart])
return args

View File

@@ -0,0 +1,60 @@
##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
#
# This is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled
# them, you can save this file and test your package like this:
#
# spack install callpath
#
# You can edit this file again by typing:
#
# spack edit callpath
#
# See the Spack documentation for more information on packaging.
# If you submit this package back to Spack as a pull request,
# please first remove this boilerplate and all FIXME comments.
#
from spack import *
class Callpath(CMakePackage):
"""FIXME: Put a proper description of your package here."""
# FIXME: Add a proper url for your package's homepage here.
homepage = "http://www.example.com"
url = "https://github.com/llnl/callpath/archive/v1.0.1.tar.gz"
version('1.0.3', 'c89089b3f1c1ba47b09b8508a574294a')
# FIXME: Add dependencies if required.
# depends_on('foo')
def cmake_args(self):
# FIXME: Add arguments other than
# FIXME: CMAKE_INSTALL_PREFIX and CMAKE_BUILD_TYPE
# FIXME: If not needed delete this function
args = []
return args

View File

@@ -0,0 +1,42 @@
##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Callpath(CMakePackage):
"""Library for representing callpaths consistently in
distributed-memory performance tools."""
homepage = "https://github.com/llnl/callpath"
url = "https://github.com/llnl/callpath/archive/v1.0.3.tar.gz"
version('1.0.3', 'c89089b3f1c1ba47b09b8508a574294a')
depends_on("elf", type="link")
depends_on("libdwarf")
depends_on("dyninst")
depends_on("adept-utils")
depends_on("mpi")
depends_on("cmake@2.8:", type="build")

View File

@@ -0,0 +1,52 @@
##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Callpath(CMakePackage):
"""Library for representing callpaths consistently in
distributed-memory performance tools."""
homepage = "https://github.com/llnl/callpath"
url = "https://github.com/llnl/callpath/archive/v1.0.3.tar.gz"
version('1.0.3', 'c89089b3f1c1ba47b09b8508a574294a')
depends_on("elf", type="link")
depends_on("libdwarf")
depends_on("dyninst")
depends_on("adept-utils")
depends_on("mpi")
depends_on("cmake@2.8:", type="build")
def cmake_args(self):
args = ["-DCALLPATH_WALKER=dyninst"]
if self.spec.satisfies("^dyninst@9.3.0:"):
std.flag = self.compiler.cxx_flag
args.append("-DCMAKE_CXX_FLAGS='{0}' -fpermissive'".format(
std_flag))
return args

View File

@@ -0,0 +1,45 @@
##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Bowtie(MakefilePackage):
"""FIXME: Put a proper description of your package here."""
# FIXME: Add a proper url for your package's homepage here.
homepage = "http://www.example.com"
url = "https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.1.1/bowtie-1.2.1.1-src.zip"
version('1.2.1.1', 'ec06265730c5f587cd58bcfef6697ddf')
# FIXME: Add dependencies if required.
# depends_on('foo')
def edit(self, spec, prefix):
# FIXME: Edit the Makefile if necessary
# FIXME: If not needed delete this function
# makefile = FileFilter('Makefile')
# makefile.filter('CC = .*', 'CC = cc')
return

View File

@@ -0,0 +1,46 @@
##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Bowtie(MakefilePackage):
"""Bowtie is an ultrafast, memory efficient short read aligner
for short DNA sequences (reads) from next-gen sequencers."""
homepage = "https://sourceforge.net/projects/bowtie-bio/"
url = "https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.1.1/bowtie-1.2.1.1-src.zip"
version('1.2.1.1', 'ec06265730c5f587cd58bcfef6697ddf')
variant("tbb", default=False, description="Use Intel thread building block")
depends_on("tbb", when="+tbb")
def edit(self, spec, prefix):
# FIXME: Edit the Makefile if necessary
# FIXME: If not needed delete this function
# makefile = FileFilter('Makefile')
# makefile.filter('CC = .*', 'CC = cc')
return

View File

@@ -0,0 +1,44 @@
##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Bowtie(MakefilePackage):
"""Bowtie is an ultrafast, memory efficient short read aligner
for short DNA sequences (reads) from next-gen sequencers."""
homepage = "https://sourceforge.net/projects/bowtie-bio/"
url = "https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.1.1/bowtie-1.2.1.1-src.zip"
version('1.2.1.1', 'ec06265730c5f587cd58bcfef6697ddf')
variant("tbb", default=False, description="Use Intel thread building block")
depends_on("tbb", when="+tbb")
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
makefile.filter('CC= .*', 'CC = ' + env['CC'])
makefile.filter('CXX = .*', 'CXX = ' + env['CXX'])

View File

@@ -0,0 +1,53 @@
##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
from spack import *
class Bowtie(MakefilePackage):
"""Bowtie is an ultrafast, memory efficient short read aligner
for short DNA sequences (reads) from next-gen sequencers."""
homepage = "https://sourceforge.net/projects/bowtie-bio/"
url = "https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.1.1/bowtie-1.2.1.1-src.zip"
version('1.2.1.1', 'ec06265730c5f587cd58bcfef6697ddf')
variant("tbb", default=False, description="Use Intel thread building block")
depends_on("tbb", when="+tbb")
def edit(self, spec, prefix):
makefile = FileFilter("Makefile")
makefile.filter('CC= .*', 'CC = ' + env['CC'])
makefile.filter('CXX = .*', 'CXX = ' + env['CXX'])
def build(self, spec, prefix):
if "+tbb" in spec:
make()
else:
make("NO_TBB=1")
def install(self, spec, prefix):
make('prefix={0}'.format(self.prefix), 'install')

View File

@@ -0,0 +1,60 @@
##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
#
# This is a template package file for Spack. We've put "FIXME"
# next to all the things you'll want to change. Once you've handled
# them, you can save this file and test your package like this:
#
# spack install py-pandas
#
# You can edit this file again by typing:
#
# spack edit py-pandas
#
# See the Spack documentation for more information on packaging.
# If you submit this package back to Spack as a pull request,
# please first remove this boilerplate and all FIXME comments.
#
from spack import *
class PyPandas(PythonPackage):
"""FIXME: Put a proper description of your package here."""
# FIXME: Add a proper url for your package's homepage here.
homepage = "http://www.example.com"
url = "https://pypi.io/packages/source/p/pandas/pandas-0.19.0.tar.gz"
version('0.19.0', 'bc9bb7188e510b5d44fbdd249698a2c3')
# FIXME: Add dependencies if required.
# depends_on('py-setuptools', type='build')
# depends_on('py-foo', type=('build', 'run'))
def build_args(self, spec, prefix):
# FIXME: Add arguments other than --prefix
# FIXME: If not needed delete this function
args = []
return args

View File

@@ -0,0 +1,51 @@
##############################################################################
# Copyright (c) 2013-2017, 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 NOTICE and LICENSE files 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
##############################################################################
from spack import *
class PyPandas(PythonPackage):
"""pandas is a Python package providing fast, flexible, and expressive
data structures designed to make working with relational or
labeled data both easy and intuitive. It aims to be the
fundamental high-level building block for doing practical, real
world data analysis in Python. Additionally, it has the broader
goal of becoming the most powerful and flexible open source data
analysis / manipulation tool available in any language.
"""
homepage = "http://pandas.pydata.org/"
url = "https://pypi.io/packages/source/p/pandas/pandas-0.19.0.tar.gz"
version('0.19.0', 'bc9bb7188e510b5d44fbdd249698a2c3')
version('0.18.0', 'f143762cd7a59815e348adf4308d2cf6')
version('0.16.1', 'fac4f25748f9610a3e00e765474bdea8')
version('0.16.0', 'bfe311f05dc0c351f8955fbd1e296e73')
depends_on('py-dateutil', type=('build', 'run'))
depends_on('py-numpy', type=('build', 'run'))
depends_on('py-setuptools', type='build')
depends_on('py-cython', type='build')
depends_on('py-pytz', type=('build', 'run'))
depends_on('py-numexpr', type=('build', 'run'))
depends_on('py-bottleneck', type=('build', 'run'))

Binary file not shown.

After

Width:  |  Height:  |  Size: 70 KiB

View File

@@ -0,0 +1,563 @@
.. _advanced-packaging-tutorial:
============================
Advanced Topics in Packaging
============================
While you can quickly accomplish most common tasks with what
was covered in :ref:`packaging-tutorial`, there are times when such
knowledge won't suffice. Usually this happens for libraries that provide
more than one API and need to let dependents decide which one to use
or for packages that provide tools that are invoked at build-time,
or in other similar situations.
In the following we'll dig into some of the details of package
implementation that help us deal with these rare, but important,
occurrences. You can rest assured that in every case Spack remains faithful to
its philosophy: keep simple things simple, but be flexible enough when
complex requests arise!
----------------------
Setup for the tutorial
----------------------
The simplest way to follow along with this tutorial is to use our Docker image,
which comes with Spack and various packages pre-installed:
.. code-block:: console
$ docker pull alalazo/spack:advanced_packaging_tutorial
$ docker run --rm -h advanced-packaging-tutorial -it alalazo/spack:advanced_packaging_tutorial
root@advanced-packaging-tutorial:/#
root@advanced-packaging-tutorial:/# spack find
==> 20 installed packages.
-- linux-ubuntu16.04-x86_64 / gcc@5.4.0 -------------------------
arpack-ng@3.5.0 hdf5@1.10.1 libpciaccess@0.13.5 libtool@2.4.6 m4@1.4.18 ncurses@6.0 openblas@0.2.20 openssl@1.0.2k superlu@5.2.1 xz@5.2.3
cmake@3.9.4 hwloc@1.11.8 libsigsegv@2.11 libxml2@2.9.4 mpich@3.2 netlib-lapack@3.6.1 openmpi@3.0.0 pkg-config@0.29.2 util-macros@1.19.1 zlib@1.2.11
If you already started the image, you can set the ``EDITOR`` environment
variable to your preferred editor (``vi``, ``emacs``, and ``nano`` are included in the image)
and move directly to :ref:`specs_build_interface_tutorial`.
If you choose not to use the Docker image, you can clone the Spack repository
and build the necessary bits yourself:
.. code-block:: console
$ git clone https://github.com/spack/spack.git
Cloning into 'spack'...
remote: Counting objects: 92731, done.
remote: Compressing objects: 100% (1108/1108), done.
remote: Total 92731 (delta 1964), reused 4186 (delta 1637), pack-reused 87932
Receiving objects: 100% (92731/92731), 33.31 MiB | 64.00 KiB/s, done.
Resolving deltas: 100% (43557/43557), done.
Checking connectivity... done.
$ cd spack
$ git checkout tutorials/advanced_packaging
Branch tutorials/advanced_packaging set up to track remote branch tutorials/advanced_packaging from origin.
Switched to a new branch 'tutorials/advanced_packaging'
At this point you can install the software that will be used
during the rest of the tutorial (the output of the commands is omitted
for the sake of brevity):
.. code-block:: console
$ spack install openblas
$ spack install netlib-lapack
$ spack install mpich
$ spack install openmpi
$ spack install --only=dependencies armadillo ^openblas
$ spack install --only=dependencies netcdf
$ spack install --only=dependencies elpa
Now, you are ready to set your preferred ``EDITOR`` and continue with
the rest of the tutorial.
.. _specs_build_interface_tutorial:
----------------------
Spec's build interface
----------------------
Spack is designed with an emphasis on assigning responsibilities
to the appropriate entities, as this results in a clearer and more intuitive interface
for the users.
When it comes to packaging, one of the most fundamental guideline that
emerged from this tenet is that:
*It is a package's responsibility to know
every software it directly depends on and to expose to others how to
use the services it provides*.
Spec's build interface is a protocol-like implementation of this guideline
that allows packages to easily query their dependencies,
and prescribes how they should expose their own build information.
^^^^^^^^^^^^^^^^^^^^
A motivating example
^^^^^^^^^^^^^^^^^^^^
We've started work on a package for ``armadillo``. You should open it,
read through the comment that starts with ``# TUTORIAL:`` and complete
the ``cmake_args`` section:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack edit armadillo
If you followed the instructions in the package, when you are finished your
``cmake_args`` method should look like:
.. code-block:: python
def cmake_args(self):
spec = self.spec
return [
# ARPACK support
'-DARPACK_LIBRARY={0}'.format(spec['arpack-ng'].libs.joined(";")),
# BLAS support
'-DBLAS_LIBRARY={0}'.format(spec['blas'].libs.joined(";")),
# LAPACK support
'-DLAPACK_LIBRARY={0}'.format(spec['lapack'].libs.joined(";")),
# SuperLU support
'-DSuperLU_INCLUDE_DIR={0}'.format(spec['superlu'].prefix.include),
'-DSuperLU_LIBRARY={0}'.format(spec['superlu'].libs.joined(";")),
# HDF5 support
'-DDETECT_HDF5={0}'.format('ON' if '+hdf5' in spec else 'OFF')
]
As you can see, getting the list of libraries that your dependencies provide
is as easy as accessing the their ``libs`` attribute. Furthermore, the interface
remains the same whether you are querying regular or virtual dependencies.
At this point you can complete the installation of ``armadillo`` using ``openblas``
as a LAPACK provider:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack install armadillo ^openblas
==> pkg-config is already installed in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pkg-config-0.29.2-ae2hwm7q57byfbxtymts55xppqwk7ecj
...
==> superlu is already installed in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/superlu-5.2.1-q2mbtw2wo4kpzis2e2n227ip2fquxrno
==> Installing armadillo
==> Using cached archive: /usr/local/var/spack/cache/armadillo/armadillo-8.100.1.tar.xz
==> Staging archive: /usr/local/var/spack/stage/armadillo-8.100.1-n2eojtazxbku6g4l5izucwwgnpwz77r4/armadillo-8.100.1.tar.xz
==> Created stage in /usr/local/var/spack/stage/armadillo-8.100.1-n2eojtazxbku6g4l5izucwwgnpwz77r4
==> Applied patch undef_linux.patch
==> Building armadillo [CMakePackage]
==> Executing phase: 'cmake'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed armadillo
Fetch: 0.01s. Build: 3.96s. Total: 3.98s.
[+] /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/armadillo-8.100.1-n2eojtazxbku6g4l5izucwwgnpwz77r4
Hopefully the installation went fine and the code we added expanded to the right list
of semicolon separated libraries (you are encouraged to open ``armadillo``'s
build logs to double check).
If we try to build another version tied to ``netlib-lapack`` we'll
notice that this time the installation won't complete:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack install armadillo ^netlib-lapack
==> pkg-config is already installed in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pkg-config-0.29.2-ae2hwm7q57byfbxtymts55xppqwk7ecj
...
==> openmpi is already installed in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.0.0-yo5qkfvumpmgmvlbalqcadu46j5bd52f
==> Installing arpack-ng
==> Using cached archive: /usr/local/var/spack/cache/arpack-ng/arpack-ng-3.5.0.tar.gz
==> Already staged arpack-ng-3.5.0-bloz7cqirpdxj33pg7uj32zs5likz2un in /usr/local/var/spack/stage/arpack-ng-3.5.0-bloz7cqirpdxj33pg7uj32zs5likz2un
==> No patches needed for arpack-ng
==> Building arpack-ng [Package]
==> Executing phase: 'install'
==> Error: RuntimeError: Unable to recursively locate netlib-lapack libraries in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/netlib-lapack-3.6.1-jjfe23wgt7nkjnp2adeklhseg3ftpx6z
RuntimeError: RuntimeError: Unable to recursively locate netlib-lapack libraries in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/netlib-lapack-3.6.1-jjfe23wgt7nkjnp2adeklhseg3ftpx6z
/usr/local/var/spack/repos/builtin/packages/arpack-ng/package.py:105, in install:
5 options.append('-DCMAKE_INSTALL_NAME_DIR:PATH=%s/lib' % prefix)
6
7 # Make sure we use Spack's blas/lapack:
>> 8 lapack_libs = spec['lapack'].libs.joined(';')
9 blas_libs = spec['blas'].libs.joined(';')
10
11 options.extend([
See build log for details:
/usr/local/var/spack/stage/arpack-ng-3.5.0-bloz7cqirpdxj33pg7uj32zs5likz2un/arpack-ng-3.5.0/spack-build.out
This is because ``netlib-lapack`` requires extra work, compared to ``openblas``,
to expose its build information to other packages. Let's edit it:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack edit netlib-lapack
and follow the instructions in the ``# TUTORIAL:`` comment as before.
What we need to implement is:
.. code-block:: python
@property
def lapack_libs(self):
shared = True if '+shared' in self.spec else False
return find_libraries(
'liblapack', root=self.prefix, shared=shared, recurse=True
)
i.e. a property that returns the correct list of libraries for the LAPACK interface.
Now we can finally install ``armadillo ^netlib-lapack``:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack install armadillo ^netlib-lapack
...
==> Building armadillo [CMakePackage]
==> Executing phase: 'cmake'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed armadillo
Fetch: 0.01s. Build: 3.75s. Total: 3.76s.
[+] /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/armadillo-8.100.1-sxmpu5an4dshnhickh6ykchyfda7jpyn
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
What happens at subscript time?
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
The example above leaves us with a few questions. How could it be that the
attribute:
.. code-block:: python
spec['lapack'].libs
stems from a property of the ``netlib-lapack`` package that has a different name?
How is it even computed for ``openblas``, given that in its package there's no code
that deals with finding libraries?
The answer is that ``libs`` is one of the few properties of specs that follow the
*build-interface protocol*. The others are currently ``command`` and ``headers``.
These properties exist only on concrete specs that have been retrieved via the
subscript notation.
What happens is that, whenever you retrieve a spec using subscripts:
.. code-block:: python
lapack = spec['lapack']
the key that appears in the query (in this case ``'lapack'``) is attached to the
returned item. When, later on, you access any of the build-interface attributes, this
key is used to compute the result according to the following algorithm:
.. code-block:: none
Given any pair of <query-key> and <build-attribute>:
1. If <query-key> is the name of a virtual spec and the package
providing it has an attribute named '<query-key>_<build-attribute>'
return it
2. Otherwise if the package has an attribute named '<build-attribute>'
return that
3. Otherwise use the default handler for <build-attribute>
Going back to our concrete case this means that, if the spec providing LAPACK
is ``netlib-lapack``, we are returning the value computed in the ``lapack_libs``
property. If it is ``openblas``, we are instead resorting to the default handler
for ``libs`` (which searches for the presence of ``libopenblas`` in the
installation prefix).
.. note::
Types commonly returned by build-interface attributes
Even though there's no enforcement on it, the type of the objects returned most often when
asking for the ``libs`` attributes is :py:class:`LibraryList <llnl.util.filesystem.LibraryList>`.
Similarly the usual type returned for ``headers`` is :py:class:`HeaderList <llnl.util.filesystem.HeaderList>`,
while for ``command`` is :py:class:`Executable <spack.util.executable.Executable>`. You can refer to
these objects' API documentation to discover more about them.
^^^^^^^^^^^^^^^^^^^^^^^
Extra query parameters
^^^^^^^^^^^^^^^^^^^^^^^
An advanced feature of the Spec's build-interface protocol is the support
for extra parameters after the subscript key. In fact, any of the keys used in the query
can be followed by a comma separated list of extra parameters which can be
inspected by the package receiving the request to fine-tune a response.
Let's look at an example and try to install ``netcdf``:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack install netcdf
==> libsigsegv is already installed in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/libsigsegv-2.11-fypapcprssrj3nstp6njprskeyynsgaz
==> m4 is already installed in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/m4-1.4.18-r5envx3kqctwwflhd4qax4ahqtt6x43a
...
==> Error: AttributeError: 'list' object has no attribute 'search_flags'
AttributeError: AttributeError: 'list' object has no attribute 'search_flags'
/usr/local/var/spack/repos/builtin/packages/netcdf/package.py:207, in configure_args:
50 # used instead.
51 hdf5_hl = self.spec['hdf5:hl']
52 CPPFLAGS.append(hdf5_hl.headers.cpp_flags)
>> 53 LDFLAGS.append(hdf5_hl.libs.search_flags)
54
55 if '+parallel-netcdf' in self.spec:
56 config_args.append('--enable-pnetcdf')
See build log for details:
/usr/local/var/spack/stage/netcdf-4.4.1.1-gk2xxhbqijnrdwicawawcll4t3c7dvoj/netcdf-4.4.1.1/spack-build.out
We can see from the error that ``netcdf`` needs to know how to link the *high-level interface*
of ``hdf5``, and thus passes the extra parameter ``hl`` after the request to retrieve it.
Clearly the implementation in the ``hdf5`` package is not complete, and we need to fix it:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack edit hdf5
If you followed the instructions correctly, the code added to the
``lib`` property should be similar to:
.. code-block:: python
:emphasize-lines: 1
query_parameters = self.spec.last_query.extra_parameters
key = tuple(sorted(query_parameters))
libraries = query2libraries[key]
shared = '+shared' in self.spec
return find_libraries(
libraries, root=self.prefix, shared=shared, recurse=True
)
where we highlighted the line retrieving the extra parameters. Now we can successfully
complete the installation of ``netcdf``:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack install netcdf
==> libsigsegv is already installed in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/libsigsegv-2.11-fypapcprssrj3nstp6njprskeyynsgaz
==> m4 is already installed in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/m4-1.4.18-r5envx3kqctwwflhd4qax4ahqtt6x43a
...
==> Installing netcdf
==> Using cached archive: /usr/local/var/spack/cache/netcdf/netcdf-4.4.1.1.tar.gz
==> Already staged netcdf-4.4.1.1-gk2xxhbqijnrdwicawawcll4t3c7dvoj in /usr/local/var/spack/stage/netcdf-4.4.1.1-gk2xxhbqijnrdwicawawcll4t3c7dvoj
==> Already patched netcdf
==> Building netcdf [AutotoolsPackage]
==> Executing phase: 'autoreconf'
==> Executing phase: 'configure'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed netcdf
Fetch: 0.01s. Build: 24.61s. Total: 24.62s.
[+] /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/netcdf-4.4.1.1-gk2xxhbqijnrdwicawawcll4t3c7dvoj
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Single package providing multiple virtual specs
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
At the close of this tutorial's subsection, it may be useful to see where the
build-interface protocol shines the most i.e. when it comes to manage packages
that provide more than one virtual spec. An example of a package of this kind is
``intel-parallel-studio``, and due to its complexity we'll limit our discussion
here to just a few considerations (without any hands-on). You can open
the related ``package.py`` in the usual way:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack edit intel-parallel-studio
As you can see this package provides a lot of virtual specs, and thus it has
more than one function that enters into the build-interface protocol. These
functions will be invoked for *exactly the same spec* according to the key used
by its dependents in the subscript query.
So, for instance, the ``blas_libs`` property will be returned when
``intel-parallel-studio`` is the BLAS provider in the current DAG and
is retrieved by a dependent with:
.. code-block:: python
blas = self.spec['blas']
blas_libs = blas.libs
Within the property we inspect various aspects of the current spec:
.. code-block:: python
@property
def blas_libs(self):
spec = self.spec
prefix = self.prefix
shared = '+shared' in spec
if '+ilp64' in spec:
mkl_integer = ['libmkl_intel_ilp64']
else:
mkl_integer = ['libmkl_intel_lp64']
...
and construct the list of library we need to return accordingly.
What we achieved is that the complexity of dealing with ``intel-parallel-studio``
is now gathered in the package itself, instead of being spread
all over its possible dependents.
Thus, a package that uses MPI or LAPACK doesn't care which implementation it uses,
as each virtual dependency has
*a uniform interface* to ask for libraries or headers and manipulate them.
The packages that provide this virtual spec, on the other hand, have a clear
way to differentiate their answer to the query [#uniforminterface]_.
.. [#uniforminterface] Before this interface was added, each package that
depended on MPI or LAPACK had dozens of lines of code copied from other
packages telling it where to find the libraries and what they are called.
With the addition of this interface, the virtual dependency itself tells
other packages that depend on it where it can find its libraries.
---------------------------
Package's build environment
---------------------------
Besides Spec's build interface, Spack provides means to set environment
variables, either for yourself or for your dependent packages, and to
attach attributes to your dependents. We'll see them next with the help
of a few real use cases.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Set variables at build-time for yourself
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Spack provides a way to manipulate a package's build time and
run time environments using the
:py:func:`setup_environment <spack.package.PackageBase.setup_environment>` function.
Let's try to see how it works by completing the ``elpa`` package:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack edit elpa
In the end your method should look like:
.. code-block:: python
def setup_environment(self, spack_env, run_env):
spec = self.spec
spack_env.set('CC', spec['mpi'].mpicc)
spack_env.set('FC', spec['mpi'].mpifc)
spack_env.set('CXX', spec['mpi'].mpicxx)
spack_env.set('SCALAPACK_LDFLAGS', spec['scalapack'].libs.joined())
spack_env.append_flags('LDFLAGS', spec['lapack'].libs.search_flags)
spack_env.append_flags('LIBS', spec['lapack'].libs.link_flags)
The two arguments, ``spack_env`` and ``run_env``, are both instances of
:py:class:`EnvironmentModifications <spack.environment.EnvironmentModifications>` and
permit you to register modifications to either the build-time or the run-time
environment of the package, respectively.
At this point it's possible to proceed with the installation of ``elpa``:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack install elpa
==> pkg-config is already installed in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/pkg-config-0.29.2-ae2hwm7q57byfbxtymts55xppqwk7ecj
==> ncurses is already installed in /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/ncurses-6.0-ukq4tccptm2rxd56d2bumqthnpcjzlez
...
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed elpa
Fetch: 3.94s. Build: 41.93s. Total: 45.87s.
[+] /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/elpa-2016.05.004-sdbfhwcexg7s2zqf52vssb762ocvklbu
If you had modifications to ``run_env``, those would have appeared e.g. in the module files
generated for the package.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Set variables in dependencies at build-time
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Another common occurrence, particularly for packages like ``r`` and ``python``
that support extensions and for packages that provide build tools,
is to require *their dependents* to have some environment variables set.
The mechanism is similar to what we just saw, except that we override the
:py:func:`setup_dependent_environment <spack.package.PackageBase.setup_dependent_environment>`
function, which takes one additional argument, i.e. the dependent spec that needs the modified
environment. Let's practice completing the ``mpich`` package:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack edit mpich
Once you're finished the method should look like this:
.. code-block:: python
def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
spack_env.set('MPICC', join_path(self.prefix.bin, 'mpicc'))
spack_env.set('MPICXX', join_path(self.prefix.bin, 'mpic++'))
spack_env.set('MPIF77', join_path(self.prefix.bin, 'mpif77'))
spack_env.set('MPIF90', join_path(self.prefix.bin, 'mpif90'))
spack_env.set('MPICH_CC', spack_cc)
spack_env.set('MPICH_CXX', spack_cxx)
spack_env.set('MPICH_F77', spack_f77)
spack_env.set('MPICH_F90', spack_fc)
spack_env.set('MPICH_FC', spack_fc)
At this point we can, for instance, install ``netlib-scalapack``:
.. code-block:: console
root@advanced-packaging-tutorial:/# spack install netlib-scalapack ^mpich
...
==> Created stage in /usr/local/var/spack/stage/netlib-scalapack-2.0.2-km7tsbgoyyywonyejkjoojskhc5knz3z
==> No patches needed for netlib-scalapack
==> Building netlib-scalapack [CMakePackage]
==> Executing phase: 'cmake'
==> Executing phase: 'build'
==> Executing phase: 'install'
==> Successfully installed netlib-scalapack
Fetch: 0.01s. Build: 3m 59.86s. Total: 3m 59.87s.
[+] /usr/local/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/netlib-scalapack-2.0.2-km7tsbgoyyywonyejkjoojskhc5knz3z
and double check the environment logs to verify that every variable was
set to the correct value. More complicated examples of the use of this function
may be found in the ``r`` and ``python`` package.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Attach attributes to other packages
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Build tools usually also provide a set of executables that can be used
when another package is being installed. Spack gives the opportunity
to monkey-patch dependent modules and attach attributes to them. This
helps make the packager experience as similar as possible to what would
have been the manual installation of the same package.
An example here is the ``automake`` package, which overrides
:py:func:`setup_dependent_package <spack.package.PackageBase.setup_dependent_package>`:
.. code-block:: python
def setup_dependent_package(self, module, dependent_spec):
# Automake is very likely to be a build dependency,
# so we add the tools it provides to the dependent module
executables = ['aclocal', 'automake']
for name in executables:
setattr(module, name, self._make_executable(name))
so that every other package that depends on it can use directly ``aclocal``
and ``automake`` with the usual function call syntax of :py:class:`Executable <spack.util.executable.Executable>`:
.. code-block:: python
aclocal('--force')

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,795 @@
.. _build-systems-tutorial:
==============================
Spack Package Build Systems
==============================
You may begin to notice after writing a couple of package template files a
pattern emerge for some packages. For example, you may find yourself writing
an :code:`install()` method that invokes: :code:`configure`, :code:`cmake`,
:code:`make`, :code:`make install`. You may also find yourself writing
:code:`"prefix=" + prefix` as an argument to :code:`configure` or :code:`cmake`.
Rather than having you repeat these lines for all packages, Spack has
classes that can take care of these patterns. In addition,
these package files allow for finer grained control of these build systems.
In this section, we will describe each build system and give examples on
how these can be manipulated to install a package.
-----------------------
Package Class Hierarchy
-----------------------
.. graphviz::
digraph G {
node [
shape = "record"
]
edge [
arrowhead = "empty"
]
PackageBase -> Package [dir=back]
PackageBase -> MakefilePackage [dir=back]
PackageBase -> AutotoolsPackage [dir=back]
PackageBase -> CMakePackage [dir=back]
PackageBase -> PythonPackage [dir=back]
}
The above diagram gives a high level view of the class hierarchy and how each
package relates. Each subclass inherits from the :code:`PackageBaseClass`
super class. The bulk of the work is done in this super class which includes
fetching, extracting to a staging directory and installing. Each subclass
then adds additional build-system-specific functionality. In the following
sections, we will go over examples of how to utilize each subclass and to see
how powerful these abstractions are when packaging.
-----------------
Package
-----------------
We've already seen examples of a :code:`Package` class in our walkthrough for writing
package files, so we won't be spending much time with them here. Briefly,
the Package class allows for abitrary control over the build process, whereas
subclasses rely on certain patterns (e.g. :code:`configure` :code:`make`
:code:`make install`) to be useful. :code:`Package` classes are particularly useful
for packages that have a non-conventional way of being built since the packager
can utilize some of Spack's helper functions to customize the building and
installing of a package.
-------------------
Autotools
-------------------
As we have seen earlier, packages using :code:`Autotools` use :code:`configure`,
:code:`make` and :code:`make install` commands to execute the build and
install process. In our :code:`Package` class, your typical build incantation will
consist of the following:
.. code-block:: python
def install(self, spec, prefix):
configure("--prefix=" + prefix)
make()
make("install")
You'll see that this looks similar to what we wrote in our packaging tutorial.
The :code:`Autotools` subclass aims to simplify writing package files and provides
convenience methods to manipulate each of the different phases for a :code:`Autotools`
build system.
:code:`Autotools` packages consist of four phases:
1. :code:`autoreconf()`
2. :code:`configure()`
3. :code:`build()`
4. :code:`install()`
Each of these phases have sensible defaults. Let's take a quick look at some
the internals of the :code:`Autotools` class:
.. code-block:: console
$ spack edit --build-system autotools
This will open the :code:`AutotoolsPackage` file in your text editor.
.. note::
The examples showing code for these classes is abridged to avoid having
long examples. We only show what is relevant to the packager.
.. literalinclude:: ../../../lib/spack/spack/build_systems/autotools.py
:language: python
:emphasize-lines: 42,45,62
:lines: 40-95,259-267
:linenos:
Important to note are the highlighted lines. These properties allow the
packager to set what build targets and install targets they want for their
package. If, for example, we wanted to add as our build target :code:`foo`
then we can append to our :code:`build_targets` property:
.. code-block:: python
build_targets = ["foo"]
Which is similiar to invoking make in our Package
.. code-block:: python
make("foo")
This is useful if we have packages that ignore environment variables and need
a command-line argument.
Another thing to take note of is in the :code:`configure()` method.
Here we see that the :code:`prefix` argument is already included since it is a
common pattern amongst packages using :code:`Autotools`. We then only have to
override :code:`configure_args()`, which will then return it's output to
to :code:`configure()`. Then, :code:`configure()` will append the common
arguments
Packagers also have the option to run :code:`autoreconf` in case a package
needs to update the build system and generate a new :code:`configure`. Though,
for the most part this will be unnecessary.
Let's look at the :code:`mpileaks` package.py file that we worked on earlier:
.. code-block:: console
$ spack edit mpileaks
Notice that mpileaks is a :code:`Package` class but uses the :code:`Autotools`
build system. Although this package is acceptable let's make this into an
:code:`AutotoolsPackage` class and simplify it further.
.. literalinclude:: tutorial/examples/Autotools/0.package.py
:language: python
:emphasize-lines: 28
:linenos:
We first inherit from the :code:`AutotoolsPackage` class.
Although we could keep the :code:`install()` method, most of it can be handled
by the :code:`AutotoolsPackage` base class. In fact, the only thing that needs
to be overridden is :code:`configure_args()`.
.. literalinclude:: tutorial/examples/Autotools/1.package.py
:language: python
:emphasize-lines: 42,43
:linenos:
Since Spack takes care of setting the prefix for us we can exclude that as
an argument to :code:`configure`. Our packages look simpler, and the packager
does not need to worry about whether they have properly included :code:`configure`
and :code:`make`.
This version of the :code:`mpileaks` package installs the same as the previous,
but the :code:`AutotoolsPackage` class lets us do it with a cleaner looking
package file.
-----------------
Makefile
-----------------
Packages that utilize :code:`Make` or a :code:`Makefile` usually require you
to edit a :code:`Makefile` to set up platform and compiler specific variables.
These packages are handled by the :code:`Makefile` subclass which provides
convenience methods to help write these types of packages.
A :code:`MakefilePackage` class has three phases that can be overridden. These include:
1. :code:`edit()`
2. :code:`build()`
3. :code:`install()`
Packagers then have the ability to control how a :code:`Makefile` is edited, and
what targets to include for the build phase or install phase.
Let's also take a look inside the :code:`MakefilePackage` class:
.. code-block:: console
$ spack edit --build-system makefile
Take note of the following:
.. literalinclude:: ../../../lib/spack/spack/build_systems/makefile.py
:language: python
:lines: 33-79,89-107
:emphasize-lines: 48,54,61
:linenos:
Similar to :code:`Autotools`, :code:`MakefilePackage` class has properties
that can be set by the packager. We can also override the different
methods highlighted.
Let's try to recreate the Bowtie_ package:
.. _Bowtie: http://bowtie-bio.sourceforge.net/index.shtml
.. code-block:: console
$ spack create -f https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.1.1/bowtie-1.2.1.1-src.zip
==> This looks like a URL for bowtie
==> Found 1 version of bowtie:
1.2.1.1 https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.1.1/bowtie-1.2.1.1-src.zip
==> How many would you like to checksum? (default is 1, q to abort) 1
==> Downloading...
==> Fetching https://downloads.sourceforge.net/project/bowtie-bio/bowtie/1.2.1.1/bowtie-1.2.1.1-src.zip
######################################################################## 100.0%
==> Checksummed 1 version of bowtie
==> This package looks like it uses the makefile build system
==> Created template for bowtie package
==> Created package file: /Users/mamelara/spack/var/spack/repos/builtin/packages/bowtie/package.py
Once the fetching is completed, Spack will open up your text editor in the
usual fashion and create a template of a :code:`MakefilePackage` package.py.
.. literalinclude:: tutorial/examples/Makefile/0.package.py
:language: python
:linenos:
Spack was successfully able to detect that :code:`Bowtie` uses :code:`Make`.
Let's add in the rest of our details for our package:
.. literalinclude:: tutorial/examples/Makefile/1.package.py
:language: python
:emphasize-lines: 29,30,32,33,37,39
:linenos:
As we mentioned earlier, most packages using a :code:`Makefile` have hard-coded
variables that must be edited. These variables are fine if you happen to not
care about setup or types of compilers used but Spack is designed to work with
any compiler. The :code:`MakefilePackage` subclass makes it easy to edit
these :code:`Makefiles` by having an :code:`edit()` method that
can be overridden.
Let's take a look at the default :code:`Makefile` that :code:`Bowtie` provides.
If we look inside, we see that :code:`CC` and :code:`CXX` point to our GNU
compiler:
.. code-block:: console
$ spack stage bowtie
.. note::
As usual make sure you have shell support activated with spack:
:code:`source /path/to/spack_root/spack/share/spack/setup-env.sh`
.. code-block:: console
$ spack cd -s bowtie
$ cd bowtie-1.2
$ vim Makefile
.. code-block:: make
CPP = g++ -w
CXX = $(CPP)
CC = gcc
LIBS = $(LDFLAGS) -lz
HEADERS = $(wildcard *.h)
To fix this, we need to use the :code:`edit()` method to write our custom
:code:`Makefile`.
.. literalinclude:: tutorial/examples/Makefile/2.package.py
:language: python
:emphasize-lines: 42,43,44
:linenos:
Here we use a :code:`FileFilter` object to edit our :code:`Makefile`. It takes
in a regular expression and then replaces :code:`CC` and :code:`CXX` to whatever
Spack sets :code:`CC` and :code:`CXX` environment variables to. This allows us to
build :code:`Bowtie` with whatever compiler we specify through Spack's
:code:`spec` syntax.
Let's change the build and install phases of our package:
.. literalinclude:: tutorial/examples/Makefile/3.package.py
:language: python
:emphasize-lines: 46, 52
:linenos:
Here demonstrate another strategy that we can use to manipulate our package
We can provide command-line arguments to :code:`make()`. Since :code:`Bowtie`
can use :code:`tbb` we can either add :code:`NO_TBB=1` as a argument to prevent
:code:`tbb` support or we can just invoke :code:`make` with no arguments.
:code:`Bowtie` requires our :code:`install_target` to provide a path to
the install directory. We can do this by providing :code:`prefix=` as a command
line argument to :code:`make()`.
Let's look at a couple of other examples and go through them:
.. code-block:: console
$ spack edit cbench
Some packages allow environment variables to be set and will honor them.
Packages that use :code:`?=` for assignment in their :code:`Makefile`
can be set using environment variables. In our :code:`cbench` example we
set two environment variables in our :code:`edit()` method:
.. code-block:: python
def edit(self, spec, prefix):
# The location of the Cbench source tree
env['CBENCHHOME'] = self.stage.source_path
# The location that will contain all your tests and your results
env['CBENCHTEST'] = prefix
# ... more code
As you may have noticed, we didn't really write anything to the :code:`Makefile`
but rather we set environment variables that will override variables set in
the :code:`Makefile`.
Some packages include a configuration file that sets certain compiler variables,
platform specific variables, and the location of dependencies or libraries.
If the file is simple and only requires a couple of changes, we can overwrite
those entries with our :code:`FileFilter` object. If the configuration involves
complex changes, we can write a new configuration file from scratch.
Let's look at an example of this in the :code:`elk` package:
.. code-block:: console
$ spack edit elk
.. code-block:: python
def edit(self, spec, prefix):
# Dictionary of configuration options
config = {
'MAKE': 'make',
'AR': 'ar'
}
# Compiler-specific flags
flags = ''
if self.compiler.name == 'intel':
flags = '-O3 -ip -unroll -no-prec-div'
elif self.compiler.name == 'gcc':
flags = '-O3 -ffast-math -funroll-loops'
elif self.compiler.name == 'pgi':
flags = '-O3 -lpthread'
elif self.compiler.name == 'g95':
flags = '-O3 -fno-second-underscore'
elif self.compiler.name == 'nag':
flags = '-O4 -kind=byte -dusty -dcfuns'
elif self.compiler.name == 'xl':
flags = '-O3'
config['F90_OPTS'] = flags
config['F77_OPTS'] = flags
# BLAS/LAPACK support
# Note: BLAS/LAPACK must be compiled with OpenMP support
# if the +openmp variant is chosen
blas = 'blas.a'
lapack = 'lapack.a'
if '+blas' in spec:
blas = spec['blas'].libs.joined()
if '+lapack' in spec:
lapack = spec['lapack'].libs.joined()
# lapack must come before blas
config['LIB_LPK'] = ' '.join([lapack, blas])
# FFT support
if '+fft' in spec:
config['LIB_FFT'] = join_path(spec['fftw'].prefix.lib,
'libfftw3.so')
config['SRC_FFT'] = 'zfftifc_fftw.f90'
else:
config['LIB_FFT'] = 'fftlib.a'
config['SRC_FFT'] = 'zfftifc.f90'
# MPI support
if '+mpi' in spec:
config['F90'] = spec['mpi'].mpifc
config['F77'] = spec['mpi'].mpif77
else:
config['F90'] = spack_fc
config['F77'] = spack_f77
config['SRC_MPI'] = 'mpi_stub.f90'
# OpenMP support
if '+openmp' in spec:
config['F90_OPTS'] += ' ' + self.compiler.openmp_flag
config['F77_OPTS'] += ' ' + self.compiler.openmp_flag
else:
config['SRC_OMP'] = 'omp_stub.f90'
# Libxc support
if '+libxc' in spec:
config['LIB_libxc'] = ' '.join([
join_path(spec['libxc'].prefix.lib, 'libxcf90.so'),
join_path(spec['libxc'].prefix.lib, 'libxc.so')
])
config['SRC_libxc'] = ' '.join([
'libxc_funcs.f90',
'libxc.f90',
'libxcifc.f90'
])
else:
config['SRC_libxc'] = 'libxcifc_stub.f90'
# Write configuration options to include file
with open('make.inc', 'w') as inc:
for key in config:
inc.write('{0} = {1}\n'.format(key, config[key]))
:code:`config` is just a dictionary that we can add key-value pairs to. By the
end of the :code:`edit()` method we write the contents of our dictionary to
:code:`make.inc`.
---------------
CMake
---------------
CMake_ is another common build system that has been gaining popularity. It works
in a similar manner to :code:`Autotools` but with differences in variable names,
the number of configuration options available, and the handling of shared libraries.
Typical build incantations look like this:
.. _CMake: https://cmake.org
.. code-block:: python
def install(self, spec, prefix):
cmake("-DCMAKE_INSTALL_PREFIX:PATH=/path/to/install_dir ..")
make()
make("install")
As you can see from the example above, it's very similar to invoking
:code:`configure` and :code:`make` in an :code:`Autotools` build system. However,
the variable names and options differ. Most options in CMake are prefixed
with a :code:`'-D'` flag to indicate a configuration setting.
In the :code:`CMakePackage` class we can override the following phases:
1. :code:`cmake()`
2. :code:`build()`
3. :code:`install()`
The :code:`CMakePackage` class also provides sensible defaults so we only need to
override :code:`cmake_args()`.
Let's look at these defaults in the :code:`CMakePackage` class:
.. code-block:: console
$ spack edit --build-system cmake
And go into a bit of detail on the highlighted sections:
.. literalinclude:: ../../../lib/spack/spack/build_systems/cmake.py
:language: python
:lines: 37-92, 94-155, 174-211
:emphasize-lines: 57,68,86,94,96,99,100,101,102,111,117,135,136
:linenos:
Some :code:`CMake` packages use different generators. Spack is able to support
Unix-Makefile_ generators as well as Ninja_ generators.
.. _Unix-Makefile: https://cmake.org/cmake/help/v3.4/generator/Unix%20Makefiles.html
.. _Ninja: https://cmake.org/cmake/help/v3.4/generator/Ninja.html
Default generator is :code:`Unix Makefile`.
Next we setup the build type. In :code:`CMake` you can specify the build type
that you want. Options include:
1. empty
2. Debug
3. Release
4. RelWithDebInfo
5. MinSizeRel
With these options you can specify whether you want your executable to have
the debug version only, release version or the release with debug information.
Release executables tend to be more optimized than Debug. In Spack, we set
the default as RelWithDebInfo unless otherwise specified through a variant.
Spack then automatically sets up the :code:`-DCMAKE_INSTALL_PREFIX` path,
appends the build type (RelDebInfo default), and then specifies a verbose
:code:`Makefile`.
Next we add the :code:`rpaths` to :code:`-DCMAKE_INSTALL_RPATH:STRING`.
Finally we add to :code:`-DCMAKE_PREFIX_PATH:STRING` the locations of all our
dependencies so that :code:`CMake` can find them.
In the end our :code:`cmake` line will look like this (example is :code:`xrootd`):
.. code-block:: console
$ cmake $HOME/spack/var/spack/stage/xrootd-4.6.0-4ydm74kbrp4xmcgda5upn33co5pwddyk/xrootd-4.6.0 -G Unix Makefiles -DCMAKE_INSTALL_PREFIX:PATH=$HOME/spack/opt/spack/darwin-sierra-x86_64/clang-9.0.0-apple/xrootd-4.6.0-4ydm74kbrp4xmcgda5upn33co5pwddyk -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo -DCMAKE_VERBOSE_MAKEFILE:BOOL=ON -DCMAKE_FIND_FRAMEWORK:STRING=LAST -DCMAKE_INSTALL_RPATH_USE_LINK_PATH:BOOL=FALSE -DCMAKE_INSTALL_RPATH:STRING=$HOME/spack/opt/spack/darwin-sierra-x86_64/clang-9.0.0-apple/xrootd-4.6.0-4ydm74kbrp4xmcgda5upn33co5pwddyk/lib:$HOME/spack/opt/spack/darwin-sierra-x86_64/clang-9.0.0-apple/xrootd-4.6.0-4ydm74kbrp4xmcgda5upn33co5pwddyk/lib64 -DCMAKE_PREFIX_PATH:STRING=$HOME/spack/opt/spack/darwin-sierra-x86_64/clang-9.0.0-apple/cmake-3.9.4-hally3vnbzydiwl3skxcxcbzsscaasx5
Saves a lot of typing doesn't it?
Let's try to recreate callpath_:
.. _callpath: https://github.com/LLNL/callpath.git
.. code-block:: console
$ spack create -f https://github.com/llnl/callpath/archive/v1.0.3.tar.gz
==> This looks like a URL for callpath
==> Found 4 versions of callpath:
1.0.3 https://github.com/LLNL/callpath/archive/v1.0.3.tar.gz
1.0.2 https://github.com/LLNL/callpath/archive/v1.0.2.tar.gz
1.0.1 https://github.com/LLNL/callpath/archive/v1.0.1.tar.gz
1.0 https://github.com/LLNL/callpath/archive/v1.0.tar.gz
==> How many would you like to checksum? (default is 1, q to abort) 1
==> Downloading...
==> Fetching https://github.com/LLNL/callpath/archive/v1.0.3.tar.gz
######################################################################## 100.0%
==> Checksummed 1 version of callpath
==> This package looks like it uses the cmake build system
==> Created template for callpath package
==> Created package file: /Users/mamelara/spack/var/spack/repos/builtin/packages/callpath/package.py
which then produces the following template:
.. literalinclude:: tutorial/examples/Cmake/0.package.py
:language: python
:linenos:
Again we fill in the details:
.. literalinclude:: tutorial/examples/Cmake/1.package.py
:language: python
:linenos:
:emphasize-lines: 28,32,33,37,38,39,40,41,42
As mentioned earlier, Spack will use sensible defaults to prevent repeated code
and to make writing :code:`CMake` package files simpler.
In callpath, we want to add options to :code:`CALLPATH_WALKER` as well as add
compiler flags. We add the following options like so:
.. literalinclude:: tutorial/examples/Cmake/2.package.py
:language: python
:linenos:
:emphasize-lines: 45,49,50
Now we can control our build options using :code:`cmake_args()`. If defaults are
sufficient enough for the package, we can leave this method out.
:code:`CMakePackage` classes allow for control of other features in the
build system. For example, you can specify the path to the "out of source"
build directory and also point to the root of the :code:`CMakeLists.txt` file if it
is placed in a non-standard location.
A good example of a package that has its :code:`CMakeLists.txt` file located at a
different location is found in :code:`spades`.
.. code-block:: console
$ spack edit spade
.. code-block:: python
root_cmakelists_dir = "src"
Here :code:`root_cmakelists_dir` will tell Spack where to find the location
of :code:`CMakeLists.txt`. In this example, it is located a directory level below in
the :code:`src` directory.
Some :code:`CMake` packages also require the :code:`install` phase to be
overridden. For example, let's take a look at :code:`sniffles`.
.. code-block:: console
$ spack edit sniffles
In the :code:`install()` method, we have to manually install our targets
so we override the :code:`install()` method to do it for us:
.. code-block:: python
# the build process doesn't actually install anything, do it by hand
def install(self, spec, prefix):
mkdir(prefix.bin)
src = "bin/sniffles-core-{0}".format(spec.version.dotted)
binaries = ['sniffles', 'sniffles-debug']
for b in binaries:
install(join_path(src, b), join_path(prefix.bin, b))
--------------
PythonPackage
--------------
Python extensions and modules are built differently from source than most
applications. Python uses a :code:`setup.py` script to install Python modules.
The script consists of a call to :code:`setup()` which provides the information
required to build a module to Distutils. If you're familiar with pip or
easy_install, setup.py does the same thing.
These modules are usually installed using the following line:
.. code-block:: console
$ python setup.py install
There are also a list of commands and phases that you can call. To see the full
list you can run:
.. code-block:: console
$ python setup.py --help-commands
Standard commands:
build build everything needed to install
build_py "build" pure Python modules (copy to build directory)
build_ext build C/C++ extensions (compile/link to build directory)
build_clib build C/C++ libraries used by Python extensions
build_scripts "build" scripts (copy and fixup #! line)
clean (no description available)
install install everything from build directory
install_lib install all Python modules (extensions and pure Python)
install_headers install C/C++ header files
install_scripts install scripts (Python or otherwise)
install_data install data files
sdist create a source distribution (tarball, zip file, etc.)
register register the distribution with the Python package index
bdist create a built (binary) distribution
bdist_dumb create a "dumb" built distribution
bdist_rpm create an RPM distribution
bdist_wininst create an executable installer for MS Windows
upload upload binary package to PyPI
check perform some checks on the package
To see the defaults that Spack has for each a methods, we will take a look
at the :code:`PythonPackage` class:
.. code-block:: console
$ spack edit --build-system python
We see the following:
.. literalinclude:: ../../../lib/spack/spack/build_systems/python.py
:language: python
:lines: 35, 161-364
:linenos:
Each of these methods have sensible defaults or they can be overridden.
We can write package files for Python packages using the :code:`Package` class,
but the class brings with it a lot of methods that are useless for Python packages.
Instead, Spack has a :code: `PythonPackage` subclass that allows packagers
of Python modules to be able to invoke :code:`setup.py` and use :code:`Distutils`,
which is much more familiar to a typical python user.
We will write a package file for Pandas_:
.. _pandas: https://pandas.pydata.org
.. code-block:: console
$ spack create -f https://pypi.io/packages/source/p/pandas/pandas-0.19.0.tar.gz
==> This looks like a URL for pandas
==> Warning: Spack was unable to fetch url list due to a certificate verification problem. You can try running spack -k, which will not check SSL certificates. Use this at your own risk.
==> Found 1 version of pandas:
0.19.0 https://pypi.io/packages/source/p/pandas/pandas-0.19.0.tar.gz
==> How many would you like to checksum? (default is 1, q to abort) 1
==> Downloading...
==> Fetching https://pypi.io/packages/source/p/pandas/pandas-0.19.0.tar.gz
######################################################################## 100.0%
==> Checksummed 1 version of pandas
==> This package looks like it uses the python build system
==> Changing package name from pandas to py-pandas
==> Created template for py-pandas package
==> Created package file: /Users/mamelara/spack/var/spack/repos/builtin/packages/py-pandas/package.py
And we are left with the following template:
.. literalinclude:: tutorial/examples/PyPackage/0.package.py
:language: python
:linenos:
As you can see this is not any different than any package template that we have
written. We have the choice of providing build options or using the sensible
defaults
Luckily for us, there is no need to provide build args.
Next we need to find the dependencies of a package. Dependencies are usually
listed in :code:`setup.py`. You can find the dependencies by searching for
:code:`install_requires` keyword in that file. Here it is for :code:`Pandas`:
.. code-block:: python
# ... code
if sys.version_info[0] >= 3:
setuptools_kwargs = {
'zip_safe': False,
'install_requires': ['python-dateutil >= 2',
'pytz >= 2011k',
'numpy >= %s' % min_numpy_ver],
'setup_requires': ['numpy >= %s' % min_numpy_ver],
}
if not _have_setuptools:
sys.exit("need setuptools/distribute for Py3k"
"\n$ pip install distribute")
# ... more code
You can find a more comprehensive list at the Pandas documentation_.
.. _documentation: https://pandas.pydata.org/pandas-docs/stable/install.html
By reading the documentation and :code:`setup.py` we found that :code:`Pandas`
depends on :code:`python-dateutil`, :code:`pytz`, and :code:`numpy`, :code:`numexpr`,
and finally :code:`bottleneck`.
Here is the completed :code:`Pandas` script:
.. literalinclude:: tutorial/examples/PyPackage/1.package.py
:language: python
:linenos:
It is quite important to declare all the dependencies of a Python package.
Spack can "activate" Python packages to prevent the user from having to
load each dependency module explictly. If a dependency is missed, Spack will
be unable to properly activate the package and it will cause an issue. To
learn more about extensions go to :ref:`cmd-spack-extensions`.
From this example, you can see that building Python modules is made easy
through the :code:`PythonPackage` class.
-------------------
Other Build Systems
-------------------
Although we won't get in depth with any of the other build systems that Spack
supports, it is worth mentioning that Spack does provide subclasses
for the following build systems:
1. :code:`IntelPackage`
2. :code:`SconsPackage`
3. :code:`WafPackage`
4. :code:`RPackage`
5. :code:`PerlPackage`
6. :code:`QMake`
Each of these classes have their own abstractions to help assist in writing
package files. For whatever doesn't fit nicely into the other build-systems,
you can use the :code:`Package` class.
Hopefully by now you can see how we aim to make packaging simple and
robust through these classes. If you want to learn more about these build
systems, check out :ref:`installation_procedure` in the Packaging Guide.

View File

@@ -0,0 +1,843 @@
.. _configs-tutorial:
======================
Configuration Tutorial
======================
This tutorial will guide you through various configuration options
that allow you to customize Spack's behavior with respect to
software installation. We will first cover the configuration file
hierarchy. Then, we will cover configuration options for compilers,
focusing on how it can be used to extend Spack's compiler auto-detection.
Next, we will cover the packages configuration file, focusing on
how it can be used to override default build options as well as
specify external package installations to use. Finally, we will
briefly touch on the config configuration file, which manages more
high-level Spack configuration options.
For all of these features we will demonstrate how we build up a full
configuration file. For some we will then demonstrate how the
configuration affects the install command, and for others we will use
the ``spack spec`` command to demonstrate how the configuration
changes have affected Spack's concretization algorithm. The provided
output is all from a server running Ubuntu version 16.04.
.. _configs-tutorial-scopes:
--------------------
Configuration Scopes
--------------------
Depending on your use case, you may want to provide configuration
settings common to everyone on your team, or you may want to set
default behaviors specific to a single user account. Spack provides
4 configuration *scopes* to handle this customization. These scopes,
in order of decreasing priority, are:
====================== ==================================
Scope Directory
====================== ==================================
User configurations ``~/.spack``
Project configurations ``$SPACK_ROOT/etc/spack``
System configurations ``/etc/spack``
Default configurations ``$SPACK_ROOT/etc/spack/defaults``
====================== ==================================
Spack's default configuration settings reside in
``$SPACK_ROOT/etc/spack/defaults``. These are useful for reference,
but should never be directly edited. To override these settings,
create new configuration files in any of the higher-priority
configuration scopes.
A particular cluster may have multiple Spack installations associated
with different projects. To provide settings common to all Spack
installations, put your configuration files in ``/etc/spack``.
To provide settings specific to a particular Spack installation,
you can use the ``$SPACK_ROOT/etc/spack`` directory.
For settings specific to a particular user, you will want to add
configuration files to the ``~/.spack`` directory. When Spack first
checked for compilers on your system, you may have noticed that it
placed your compiler configuration in this directory.
Some facilities manage multiple platforms from a single shared
filesystem. In order to handle this, each of the configuration
scopes listed above has two *sub-scopes*: platform-specific and
platform-independent. For example, compiler settings can be stored
in ``compilers.yaml`` configuration files in the following locations:
- ``~/.spack/<platform>/compilers.yaml``
- ``~/.spack/compilers.yaml``
- ``$SPACK_ROOT/etc/spack/<platform>/compilers.yaml``
- ``$SPACK_ROOT/etc/spack/compilers.yaml``
- ``/etc/spack/<platform>/compilers.yaml``
- ``/etc/spack/compilers.yaml``
- ``$SPACK_ROOT/etc/defaults/<platform>/compilers.yaml``
- ``$SPACK_ROOT/etc/defaults/compilers.yaml``
These files are listed in decreasing order of precedence, so files in
``~/.spack/<platform>`` will override settings in ``~/.spack``.
Spack configurations are YAML dictionaries. Every configuration file
begins with a top-level dictionary that tells Spack which
configuration set it modifies. When Spack checks it's configuration,
the configuration scopes are updated as dictionaries in increasing
order of precedence, allowing higher precedence files to override
lower. YAML dictionaries use a colon ":" to specify key-value
pairs. Spack extends YAML syntax slightly to allow a double-colon
"::" to specify a key-value pair. When a double-colon is used to
specify a key-value pair, instead of adding that section Spack
replaces what was in that section with the new value. For example, a
user compilers configuration file as follows:
.. code-block:: yaml
compilers::
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: ubuntu16.04
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
spec: gcc@5.4.0
target: x86_64
ensures that no other compilers are used, as the user configuration
scope is the last scope searched and the ``compilers::`` line replaces
all previous configuration files information. If the same
configuration file had a single colon instead of the double colon, it
would add the gcc version 5.4.0 compiler to whatever other compilers
were listed in other configuration files.
.. _configs-tutorial-compilers:
----------------------
Compiler Configuration
----------------------
For most tasks, we can use Spack with the compilers auto-detected the
first time Spack runs on a system. As we discussed in the basic
installation section, we can also tell Spack where compilers are
located using the ``spack compiler add`` command. However, in some
circumstances we want even more fine-grained control over the
compilers available. This section will teach you how to exercise that
control using the compilers configuration file.
We will start by opening the compilers configuration file
.. code-block:: console
$ spack config edit compilers
.. code-block:: yaml
compilers:
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: ubuntu16.04
paths:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: null
fc: null
spec: clang@3.8.0-2ubuntu4
target: x86_64
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: ubuntu16.04
paths:
cc: /usr/bin/gcc
cxx: /usr/bin/g++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
spec: gcc@5.4.0
target: x86_64
This specifies one version of the gcc compiler and one version of the
clang compiler with no flang compiler. Now suppose we have a code that
we want to compile with the clang compiler for C/C++ code, but with
gfortran for Fortran components. We can do this by adding another entry
to the ``compilers.yaml`` file.
.. code-block:: yaml
- compiler:
environment: {}
extra_rpaths: []
flags: {}
modules: []
operating_system: ubuntu16.04
paths:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
spec: clang@3.8.0-gfortran
target: x86_64
Let's talk about the sections of this compiler entry that we've changed.
The biggest change we've made is to the ``paths`` section. This lists
the paths to the compilers to use for each language/specification.
In this case, we point to the clang compiler for C/C++ and the gfortran
compiler for both specifications of Fortran. We've also changed the
``spec`` entry for this compiler. The ``spec`` entry is effectively the
name of the compiler for Spack. It consists of a name and a version
number, separated by the ``@`` sigil. The name must be one of the supported
compiler names in Spack (gcc, intel, pgi, xl, xl_r, clang, nag, cce).
The version number can be an arbitrary string of alphanumeric characters,
as well as ``-``, ``.``, and ``_``. The ``target`` and ``operating_system``
sections we leave unchanged. These sections specify when Spack can use
different compilers, and are primarily useful for configuration files that
will be used across multiple systems.
We can verify that our new compiler works by invoking it now:
.. code-block:: console
$ spack install zlib %clang@3.8.0-gfortran
...
This new compiler also works on Fortran codes:
.. code-block:: console
$ spack install cfitsio %clang@3.8.0-gfortran
...
^^^^^^^^^^^^^^
Compiler Flags
^^^^^^^^^^^^^^
Some compilers may require specific compiler flags to work properly in
a particular computing environment. Spack provides configuration
options for setting compiler flags every time a specific compiler is
invoked. These flags become part of the package spec and therefore of
the build provenance. As on the command line, the flags are set
through the implicit build variables ``cflags``, ``cxxflags``, ``cppflags``,
``fflags``, ``ldflags``, and ``ldlibs``.
Let's open our compilers configuration file again and add a compiler flag.
.. code-block:: yaml
- compiler:
environment: {}
extra_rpaths: []
flags:
cppflags: -g
modules: []
operating_system: ubuntu16.04
paths:
cc: /usr/bin/clang
cxx: /usr/bin/clang++
f77: /usr/bin/gfortran
fc: /usr/bin/gfortran
spec: clang@3.8.0-gfortran
target: x86_64
We can test this out using the ``spack spec`` command to show how the
spec is concretized.
.. code-block:: console
$ spack spec cfitsio %clang@3.8.0-gfortran
Input spec
--------------------------------
cfitsio%clang@3.8.0-gfortran
Normalized
--------------------------------
cfitsio%clang@3.8.0-gfortran
Concretized
--------------------------------
cfitsio@3.410%clang@3.8.0-gfortran cppflags="-g" +bzip2+shared arch=linux-ubuntu16.04-x86_64
^bzip2@1.0.6%clang@3.8.0-gfortran cppflags="-g" +shared arch=linux-ubuntu16.04-x86_64
We can see that "cppflags=-g" has been added to every node in the DAG.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Advanced Compiler Configuration
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
There are three fields of the compiler configuration entry that we
have not talked about yet.
The ``modules`` field of the compiler is used primarily on Cray systems,
but can be useful on any system that has compilers that are only
useful when a particular module is loaded. Any modules in the
``modules`` field of the compiler configuration will be loaded as part
of the build environment for packages using that compiler.
The ``extra_rpaths`` field of the compiler configuration is used for
compilers that do not rpath all of their dependencies by
default. Since compilers are generally installed externally to Spack,
Spack is unable to manage compiler dependencies and enforce
rpath usage. This can lead to packages not finding link dependencies
imposed by the compiler properly. For compilers that impose link
dependencies on the resulting executables that are not rpath'ed into
the executable automatically, the ``extra_rpath`` field of the compiler
configuration tells Spack which dependencies to rpath into every
executable created by that compiler. The executables will then be able
to find the link dependencies imposed by the compiler.
The ``environment`` field of the compiler configuration is used for
compilers that require environment variables to be set during build
time. For example, if your Intel compiler suite requires the
``INTEL_LICENSE_FILE`` environment variable to point to the proper
license server, you can set this in ``compilers.yaml``.
-------------------------------
Configuring Package Preferences
-------------------------------
Package preferences in Spack are managed through the ``packages.yaml``
configuration file. First, we will look at the default
``packages.yaml`` file.
.. code-block:: console
$ spack config --scope defaults edit packages
.. literalinclude:: ../../../etc/spack/defaults/packages.yaml
:language: yaml
This sets the default preferences for compilers and for providers of
virtual packages. To illustrate how this works, suppose we want to
change the preferences to prefer the clang compiler and to prefer
mpich over openmpi. Currently, we prefer gcc and openmpi
.. code-block:: console
$ spack spec hdf5
Input spec
--------------------------------
hdf5
Normalized
--------------------------------
hdf5
^zlib@1.1.2:
Concretized
--------------------------------
hdf5@1.10.1%gcc@5.4.0+cxx~debug+fortran+mpi+pic+shared~szip~threadsafe arch=linux-ubuntu16.04-x86_64
^openmpi@3.0.0%gcc@5.4.0~cuda fabrics= ~java schedulers= ~sqlite3~thread_multiple+vt arch=linux-ubuntu16.04-x86_64
^hwloc@1.11.7%gcc@5.4.0~cuda+libxml2~pci arch=linux-ubuntu16.04-x86_64
^libxml2@2.9.4%gcc@5.4.0~python arch=linux-ubuntu16.04-x86_64
^pkg-config@0.29.2%gcc@5.4.0+internal_glib arch=linux-ubuntu16.04-x86_64
^xz@5.2.3%gcc@5.4.0 arch=linux-ubuntu16.04-x86_64
^zlib@1.2.11%gcc@5.4.0+pic+shared arch=linux-ubuntu16.04-x86_64
Now we will open the packages configuration file and update our
preferences.
.. code-block:: console
$ spack config edit packages
.. code-block:: yaml
packages:
all:
compiler: [clang, gcc, intel, pgi, xl, nag]
providers:
mpi: [mpich, openmpi]
Because of the configuration scoping we discussed earlier, this
overrides the default settings just for these two items.
.. code-block:: console
$ spack spec hdf5
Input spec
--------------------------------
hdf5
Normalized
--------------------------------
hdf5
^zlib@1.1.2:
Concretized
--------------------------------
hdf5@1.10.1%clang@3.8.0-2ubuntu4+cxx~debug~fortran~hl+mpi+pic+shared~szip~threadsafe arch=linux-ubuntu16.04-x86_64
^mpich@3.2%clang@3.8.0-2ubuntu4 device=ch3 +hydra netmod=tcp +pmi+romio~verbs arch=linux-ubuntu16.04-x86_64
^zlib@1.2.11%clang@3.8.0-2ubuntu4+pic+shared arch=linux-ubuntu16.04-x86_64
^^^^^^^^^^^^^^^^^^^
Variant Preferences
^^^^^^^^^^^^^^^^^^^
The packages configuration file can also set variant preferences for
package variants. For example, let's change our preferences to build all
packages without shared libraries. We will accomplish this by turning
off the ``shared`` variant on all packages that have one.
.. code-block:: yaml
packages:
all:
compiler: [clang, gcc, intel, pgi, xl, nag]
providers:
mpi: [mpich, openmpi]
variants: ~shared
We can check the effect of this command with ``spack spec hdf5`` again.
.. code-block:: console
$ spack spec hdf5
Input spec
--------------------------------
hdf5
Normalized
--------------------------------
hdf5
^zlib@1.1.2:
Concretized
--------------------------------
hdf5@1.10.1%clang@3.8.0-2ubuntu4+cxx~debug~fortran~hl+mpi+pic~shared~szip~threadsafe arch=linux-ubuntu16.04-x86_64
^mpich@3.2%clang@3.8.0-2ubuntu4 device=ch3 +hydra netmod=tcp +pmi+romio~verbs arch=linux-ubuntu16.04-x86_64
^zlib@1.2.11%clang@3.8.0-2ubuntu4+pic~shared arch=linux-ubuntu16.04-x86_64
So far we have only made global changes to the package preferences. As
we've seen throughout this tutorial, hdf5 builds with MPI enabled by
default in Spack. If we were working on a project that would routinely
need serial hdf5, that might get annoying quickly, having to type
``hdf5~mpi`` all the time. Instead, we'll update our preferences for
hdf5.
.. code-block:: yaml
packages:
all:
compiler: [clang, gcc, intel, pgi, xl, nag]
providers:
mpi: [mpich, openmpi]
variants: ~shared
hdf5:
variants: ~mpi
Now hdf5 will concretize without an MPI dependency by default.
.. code-block:: console
$ spack spec hdf5
Input spec
--------------------------------
hdf5
Normalized
--------------------------------
hdf5
^zlib@1.1.2:
Concretized
--------------------------------
hdf5@1.10.1%clang@3.8.0-2ubuntu4+cxx~debug~fortran~hl+mpi+pic~shared~szip~threadsafe arch=linux-ubuntu16.04-x86_64
^zlib@1.2.11%clang@3.8.0-2ubuntu4+pic~shared arch=linux-ubuntu16.04-x86_64
In general, every attribute that we can set for all packages we can
set separately for an individual package.
^^^^^^^^^^^^^^^^^
External Packages
^^^^^^^^^^^^^^^^^
The packages configuration file also controls when Spack will build
against an externally installed package. On these systems we have a
pre-installed zlib.
.. code-block:: yaml
packages:
all:
compiler: [clang, gcc, intel, pgi, xl, nag]
providers:
mpi: [mpich, openmpi]
variants: ~shared
hdf5:
variants: ~mpi
zlib:
paths:
zlib@1.2.8%gcc@5.4.0 arch=linux-ubuntu16.04-x86_64: /usr
Here, we've told Spack that zlib 1.2.8 is installed on our system.
We've also told it the installation prefix where zlib can be found.
We don't know exactly which variants it was built with, but that's
okay.
.. code-block:: console
$ spack spec hdf5
Input spec
--------------------------------
hdf5
Normalized
--------------------------------
hdf5
^zlib@1.1.2:
Concretized
--------------------------------
hdf5@1.10.1%gcc@5.4.0~cxx~debug~fortran~hl~mpi+pic+shared~szip~threadsafe arch=linux-ubuntu16.04-x86_64
^zlib@1.2.8%gcc@5.4.0+optimize+pic~shared arch=linux-ubuntu16.04-x86_64
You'll notice that Spack is now using the external zlib installation,
but the compiler used to build zlib is now overriding our compiler
preference of clang. If we explicitly specify clang:
.. code-block:: console
$ spack spec hdf5 %clang
Input spec
--------------------------------
hdf5%clang
Normalized
--------------------------------
hdf5%clang
^zlib@1.1.2:
Concretized
--------------------------------
hdf5@1.10.1%clang@3.8.0-2ubuntu4~cxx~debug~fortran~hl~mpi+pic+shared~szip~threadsafe arch=linux-ubuntu16.04-x86_64
^zlib@1.2.11%clang@3.8.0-2ubuntu4+optimize+pic~shared arch=linux-ubuntu16.04-x86_64
Spack concretizes to both hdf5 and zlib being built with clang.
This has a side-effect of rebuilding zlib. If we want to force
Spack to use the system zlib, we have two choices. We can either
specify it on the command line, or we can tell Spack that it's
not allowed to build its own zlib. We'll go with the latter.
.. code-block:: yaml
packages:
all:
compiler: [clang, gcc, intel, pgi, xl, nag]
providers:
mpi: [mpich, openmpi]
variants: ~shared
hdf5:
variants: ~mpi
zlib:
paths:
zlib@1.2.8%gcc@5.4.0 arch=linux-ubuntu16.04-x86_64: /usr
buildable: False
Now Spack will be forced to choose the external zlib.
.. code-block:: console
$ spack spec hdf5 %clang
Input spec
--------------------------------
hdf5%clang
Normalized
--------------------------------
hdf5%clang
^zlib@1.1.2:
Concretized
--------------------------------
hdf5@1.10.1%clang@3.8.0-2ubuntu4~cxx~debug~fortran~hl~mpi+pic+shared~szip~threadsafe arch=linux-ubuntu16.04-x86_64
^zlib@1.2.8%gcc@5.4.0+optimize+pic~shared arch=linux-ubuntu16.04-x86_64
This gets slightly more complicated with virtual dependencies. Suppose
we don't want to build our own MPI, but we now want a parallel version
of hdf5? Well, fortunately we have mpich installed on these systems.
.. code-block:: yaml
packages:
all:
compiler: [clang, gcc, intel, pgi, xl, nag]
providers:
mpi: [mpich, openmpi]
variants: ~shared
hdf5:
variants: ~mpi
zlib:
paths:
zlib@1.2.8%gcc@5.4.0 arch=linux-ubuntu16.04-x86_64: /usr
buildable: False
mpich:
paths:
mpich@3.2%gcc@5.4.0 device=ch3 +hydra netmod=tcp +pmi+romio~verbs arch=linux-ubuntu16.04-x86_64: /usr
buildable: False
If we concretize ``hdf5+mpi`` with this configuration file, we will just
build with an alternate MPI implementation.
.. code-block:: console
$ spack spec hdf5 %clang +mpi
Input spec
--------------------------------
hdf5%clang+mpi
Normalized
--------------------------------
hdf5%clang+mpi
^mpi
^zlib@1.1.2:
Concretized
--------------------------------
hdf5@1.10.1%clang@3.8.0-2ubuntu4~cxx~debug~fortran~hl+mpi+pic~shared~szip~threadsafe arch=linux-ubuntu16.04-x86_64
^openmpi@3.0.0%clang@3.8.0-2ubuntu4~cuda fabrics=verbs ~java schedulers= ~sqlite3~thread_multiple+vt arch=linux-ubuntu16.04-x86_64
^hwloc@1.11.8%clang@3.8.0-2ubuntu4~cuda+libxml2+pci arch=linux-ubuntu16.04-x86_64
^libpciaccess@0.13.5%clang@3.8.0-2ubuntu4 arch=linux-ubuntu16.04-x86_64
^libtool@2.4.6%clang@3.8.0-2ubuntu4 arch=linux-ubuntu16.04-x86_64
^m4@1.4.18%clang@3.8.0-2ubuntu4 patches=3877ab548f88597ab2327a2230ee048d2d07ace1062efe81fc92e91b7f39cd00 +sigsegv arch=linux-ubuntu16.04-x86_64
^libsigsegv@2.11%clang@3.8.0-2ubuntu4 arch=linux-ubuntu16.04-x86_64
^pkg-config@0.29.2%clang@3.8.0-2ubuntu4+internal_glib arch=linux-ubuntu16.04-x86_64
^util-macros@1.19.1%clang@3.8.0-2ubuntu4 arch=linux-ubuntu16.04-x86_64
^libxml2@2.9.4%clang@3.8.0-2ubuntu4~python arch=linux-ubuntu16.04-x86_64
^xz@5.2.3%clang@3.8.0-2ubuntu4 arch=linux-ubuntu16.04-x86_64
^zlib@1.2.8%gcc@5.4.0+optimize+pic+shared arch=linux-ubuntu16.04-x86_64
We have only expressed a preference for mpich over other MPI
implementations, and Spack will happily build with one we haven't
forbid it from using. We could resolve this by requesting
``hdf5%clang+mpi^mpich`` explicitly, or we can configure Spack not to
use any other MPI implementation. Since we're focused on
configurations here and the former can get tedious, we'll need to
modify our ``packages.yaml`` file again.
While we're at it, we can configure hdf5 to build with MPI by default
again.
.. code-block:: yaml
packages:
all:
compiler: [clang, gcc, intel, pgi, xl, nag]
providers:
mpi: [mpich, openmpi]
variants: ~shared
zlib:
paths:
zlib@1.2.8%gcc@5.4.0 arch=linux-ubuntu16.04-x86_64: /usr
buildable: False
mpich:
paths:
mpich@3.2%gcc@5.4.0 device=ch3 +hydra netmod=tcp +pmi+romio~verbs arch=linux-ubuntu16.04-x86_64: /usr
buildable: False
openmpi:
buildable: False
mvapich2:
buildable: False
intel-mpi:
buildable: False
spectrum-mpi:
buildable: False
intel-parallel-studio:
buildable: False
Now that we have configured Spack not to build any of the possible
providers for MPI we can try again.
.. code-block:: console
$ spack spec hdf5 %clang
Input spec
--------------------------------
hdf5%clang
Normalized
--------------------------------
hdf5%clang
^mpi
^zlib@1.1.2:
Concretized
--------------------------------
hdf5@1.10.1%clang@3.8.0-2ubuntu4+cxx~debug~fortran~hl+mpi+pic~shared~szip~threadsafe arch=linux-ubuntu16.04-x86_64
^mpich@3.2%gcc@5.4.0 device=ch3 +hydra netmod=tcp +pmi+romio~verbs arch=linux-ubuntu16.04-x86_64
^zlib@1.2.8%gcc@5.4.0+pic+shared arch=linux-ubuntu16.04-x86_64
By configuring most of our package preferences in ``packages.yaml``,
we can cut down on the amount of work we need to do when specifying
a spec on the command line. In addition to compiler and variant
preferences, we can specify version preferences as well. Anything
that you can specify on the command line can be specified in
``packages.yaml`` with the exact same spec syntax.
.. warning::
Make sure to delete or move the ``packages.yaml`` you have been
editing up to this point. Otherwise, it will change the hashes
of your packages, leading to differences in the output of later
tutorial sections.
-----------------
High-level Config
-----------------
In addition to compiler and package settings, Spack allows customization
of several high-level settings. These settings are stored in the generic
``config.yaml`` configuration file. You can see the default settings by
running:
.. code-block:: console
$ spack config --scope defaults edit config
.. literalinclude:: ../../../etc/spack/defaults/config.yaml
:language: yaml
As you can see, many of the directories Spack uses can be customized.
For example, you can tell Spack to install packages to a prefix
outside of the ``$SPACK_ROOT`` hierarchy. Module files can be
written to a central location if you are using multiple Spack
instances. If you have a fast scratch filesystem, you can run builds
from this filesystem with the following ``config.yaml``:
.. code-block:: yaml
config:
build_stage:
- /scratch/$user
On systems with compilers that absolutely *require* environment variables
like ``LD_LIBRARY_PATH``, it is possible to prevent Spack from cleaning
the build environment with the ``dirty`` setting:
.. code-block:: yaml
config:
dirty: true
However, this is strongly discouraged, as it can pull unwanted libraries
into the build.
One last setting that may be of interest to many users is the ability
to customize the parallelism of Spack builds. By default, Spack
installs all packages in parallel with the number of jobs equal to the
number of cores on the node. For example, on a node with 36 cores,
this will look like:
.. code-block:: console
$ spack install --verbose zlib
==> Installing zlib
==> Using cached archive: ~/spack/var/spack/cache/zlib/zlib-1.2.11.tar.gz
==> Staging archive: ~/spack/var/spack/stage/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb/zlib-1.2.11.tar.gz
==> Created stage in ~/spack/var/spack/stage/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb
==> No patches needed for zlib
==> Building zlib [Package]
==> Executing phase: 'install'
==> './configure' '--prefix=~/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/zlib-1.2.11-5nus6knzumx4ik2yl44jxtgtsl7d54xb'
Checking for shared library support...
Building shared library libz.so.1.2.11 with ~/spack/lib/spack/env/gcc/gcc.
Checking for size_t... Yes.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for strerror... Yes.
Checking for unistd.h... Yes.
Checking for stdarg.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... Yes.
==> 'make' '-j36'
...
==> 'make' '-j36' 'install'
...
As you can see, we are building with all 36 cores on the node. If you are
on a shared login node, this can slow down the system for other users. If
you have a strict ulimit or restriction on the number of available licenses,
you may not be able to build at all with this many cores. On nodes with 64+
cores, you may not see a significant speedup of the build anyway. To limit
the number of cores our build uses, set ``build_jobs`` like so:
.. code-block:: yaml
config:
build_jobs: 4
If we uninstall and reinstall zlib, we see that it now uses only 4 cores:
.. code-block:: console
$ spack install -v zlib
==> Installing zlib
==> Using cached archive: ~/spack/var/spack/cache/zlib/zlib-1.2.11.tar.gz
==> Staging archive: ~/spack/var/spack/stage/zlib-1.2.11-ezuwp4pa52e75v6iweawzwymmf4ahxxn/zlib-1.2.11.tar.gz
==> Created stage in ~/spack/var/spack/stage/zlib-1.2.11-ezuwp4pa52e75v6iweawzwymmf4ahxxn
==> No patches needed for zlib
==> Building zlib [Package]
==> Executing phase: 'install'
==> './configure' '--prefix=~/spack/opt/spack/linux-ubuntu16.04-x86_64/gcc-7.2.0/zlib-1.2.11-ezuwp4pa52e75v6iweawzwymmf4ahxxn'
Checking for shared library support...
Building shared library libz.so.1.2.11 with ~/spack/lib/spack/env/gcc/gcc.
Checking for size_t... Yes.
Checking for off64_t... Yes.
Checking for fseeko... Yes.
Checking for strerror... Yes.
Checking for unistd.h... Yes.
Checking for stdarg.h... Yes.
Checking whether to use vs[n]printf() or s[n]printf()... using vs[n]printf().
Checking for vsnprintf() in stdio.h... Yes.
Checking for return value of vsnprintf()... Yes.
Checking for attribute(visibility) support... Yes.
==> 'make' '-j4'
...
==> 'make' '-j4' 'install'
...
Obviously, if you want to build everything in serial for whatever reason,
you would set ``build_jobs`` to 1.

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,498 @@
.. _packaging-tutorial:
=========================
Package Creation Tutorial
=========================
This tutorial will walk you through the steps behind building a simple
package installation script. We'll focus building an mpileaks package,
which is a MPI debugging tool. By creating a package file we're
essentially giving Spack a recipe for how to build a particular piece of
software. We're describing some of the software's dependencies, where to
find the package, what commands and options are used to build the package
from source, and more. Once we've specified a package's recipe, we can
ask Spack to build that package in many different ways.
This tutorial assumes you have a basic familiarity with some of the Spack
commands, and that you have a working version of Spack installed. If
not, we suggest looking at Spack's *Getting Started* guide. This
tutorial also assumes you have at least a beginner's-level familiarity
with Python.
Also note that this document is a tutorial. It can help you get started
with packaging, but is not intended to be complete. See Spack's
:ref:`packaging-guide` for more complete documentation on this topic.
---------------
Getting Started
---------------
A few things before we get started:
- We'll refer to the Spack installation location via the environment
variable ``SPACK_ROOT``. You should point ``SPACK_ROOT`` at wherever
you have Spack installed.
- Add ``$SPACK_ROOT/bin`` to your ``PATH`` before you start.
- Make sure your ``EDITOR`` environment variable is set to some text
editor you like.
- We'll be writing Python code as part of this tutorial. You can find
successive versions of the Python code in
``$SPACK_ROOT/lib/spack/docs/tutorial/examples``.
-------------------------
Creating the Package File
-------------------------
Spack comes with a handy command to create a new package: ``spack create``.
This command is given the location of a package's source code, downloads
the code, and sets up some basic packaging infrastructure for you. The
mpileaks source code can be found on GitHub, and here's what happens when
we run ``spack create`` on it:
.. code-block:: console
$ spack create -t generic -f https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz
==> This looks like a URL for mpileaks
==> Found 1 version of mpileaks:
1.0 https://github.com/LLNL/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz
==> How many would you like to checksum? (default is 1, q to abort) 1
==> Downloading...
==> Fetching https://github.com/LLNL/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz
############################################################################# 100.0%
==> Checksummed 1 version of mpileaks
==> Using specified package template: 'generic'
==> Created template for mpileaks package
==> Created package file: $SPACK_ROOT/var/spack/repos/builtin/packages/mpileaks/package.py
And Spack should spawn a text editor with this file:
.. literalinclude:: tutorial/examples/0.package.py
:language: python
Spack has created this file in
``$SPACK_ROOT/var/spack/repos/builtin/packages/mpileaks/package.py``. Take a
moment to look over the file. There's a few placeholders that Spack has
created, which we'll fill in as part of this tutorial:
- We'll document some information about this package in the comments.
- We'll fill in the dependency list for this package.
- We'll fill in some of the configuration arguments needed to build this
package.
For the moment, exit your editor and let's see what happens when we try
to build this package:
.. code-block:: console
$ spack install mpileaks
==> Installing mpileaks
==> Using cached archive: /usr/workspace/wsa/legendre/spack/var/spack/cache/mpileaks/mpileaks-1.0.tar.gz
==> Staging archive: /usr/workspace/wsa/legendre/spack/var/spack/stage/mpileaks-1.0-hufwhwpq5benv3sslie6ryflk5s6nm35/mpileaks-1.0.tar.gz
==> Created stage in /usr/workspace/wsa/legendre/spack/var/spack/stage/mpileaks-1.0-hufwhwpq5benv3sslie6ryflk5s6nm35
==> Ran patch() for mpileaks
==> Building mpileaks [AutotoolsPackage]
==> Executing phase : 'autoreconf'
==> Executing phase : 'configure'
==> Error: ProcessError: Command exited with status 1:
'./configure' '--prefix=/usr/workspace/wsa/legendre/spack/opt/spack/linux-rhel7-x86_64/gcc-4.9.3/mpileaks-1.0-hufwhwpq5benv3sslie6ryflk5s6nm35'
/usr/workspace/wsa/legendre/spack/lib/spack/spack/build_systems/autotools.py:150, in configure:
145 def configure(self, spec, prefix):
146 """Runs configure with the arguments specified in `configure_args`
147 and an appropriately set prefix
148 """
149 options = ['--prefix={0}'.format(prefix)] + self.configure_args()
>> 150 inspect.getmodule(self).configure(*options)
See build log for details:
/tmp/legendre/spack-stage/spack-stage-8HVzqu/mpileaks-1.0/spack-build.out
This obviously didn't work; we need to fill in the package-specific
information. Specifically, Spack didn't try to build any of mpileaks'
dependencies, nor did it use the proper configure arguments. Let's start
fixing things
---------------------
Package Documentation
---------------------
We can bring the ``package.py`` file back into our ``EDITOR`` with the
``spack edit`` command:
.. code-block:: console
$ spack edit mpileaks
Let's remove some of the ``FIXME`` comments, and add links to the mpileaks
homepage and document what mpileaks does. I'm also going to cut out the
Copyright clause at this point to keep this tutorial document shorter,
but you shouldn't do that normally. The results of these changes can be
found in ``$SPACK_ROOT/lib/spack/docs/tutorial/examples/1.package.py``
and are below. Make these changes to your ``package.py``:
.. literalinclude:: tutorial/examples/1.package.py
:lines: 25-
:language: python
We've filled in the comment that describes what this package does and
added a link to the web site. That won't help us build yet, but it will
allow Spack to provide some documentation on this package to other users:
.. code-block:: console
$ spack info mpileaks
AutotoolsPackage: mpileaks
Homepage: https://github.com/hpc/mpileaks
Safe versions:
1.0 https://github.com/hpc/mpileaks/releases/download/v1.0/mpileaks-1.0.tar.gz
Variants:
None
Installation Phases:
autoreconf configure build install
Build Dependencies:
None
Link Dependencies:
None
Run Dependencies:
None
Virtual Packages:
None
Description:
Tool to detect and report MPI objects like MPI_Requests and
MPI_Datatypes
As we fill in more information about this package the ``spack info`` command
will become more informative. Now let's start making this package build.
------------
Dependencies
------------
The mpileaks packages depends on three other package: ``MPI``,
``adept-utils``, and ``callpath``. Let's add those via the
``depends_on`` command in our ``package.py`` (this version is in
``$SPACK_ROOT/lib/spack/docs/tutorial/examples/2.package.py``):
.. literalinclude:: tutorial/examples/2.package.py
:lines: 25-
:language: python
Now when we go to build mpileaks, Spack will fetch and build these
dependencies before building mpileaks. Note that the mpi dependency is a
different kind of beast than the adept-utils and callpath dependencies;
there is no mpi package available in Spack. Instead mpi is a virtual
dependency. Spack may satisfy that dependency by installing packages
such as ``openmpi`` or ``mvapich``. See the :ref:`packaging-guide` for more
information on virtual dependencies.
Now when we try to install this package a lot more happens:
.. code-block:: console
$ spack install mpileaks
...
==> libdwarf is already installed in SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/libdwarf-20160507-er4jrjynul6uba7wiu5tasuj35roxw6m
==> dyninst is already installed in SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/dyninst-9.3.2-t7mau34jv3e76mpspdzhf2p2a6k7qubg
==> callpath is already installed in SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/callpath-1.0.4-ikbbkvfmsfmqzo624nvvrbooovf7egoc
==> Installing mpileaks
==> Using cached archive: SPACK_ROOT/var/spack/cache/mpileaks/mpileaks-1.0.tar.gz
==> Already staged mpileaks-1.0-lfgf53rns5mswq25rxckzgvmjc6ywam7 in SPACK_ROOT/var/spack/stage/mpileaks-1.0-lfgf53rns5mswq25rxckzgvmjc6ywam7
==> No patches needed for mpileaks
==> Building mpileaks [Package]
==> Executing phase: 'install'
==> Error: ProcessError: Command exited with status 2:
'make' '-j36'
1 error found in build log:
1 ==> Executing phase: 'install'
2 ==> 'make' '-j36'
>> 3 make: *** No targets specified and no makefile found. Stop.
See build log for details:
SPACK_ROOT/var/spack/stage/mpileaks-1.0-lfgf53rns5mswq25rxckzgvmjc6ywam7/mpileaks-1.0/spack-build.out
Note that this command may take a while to run and produce more output if
you don't have an MPI already installed or configured in Spack.
Now Spack has identified and made sure all of our dependencies have been
built. It found the ``openmpi`` package that will satisfy our ``mpi``
dependency, and the ``callpath`` and ``adept-utils`` package to satisfy our
concrete dependencies.
------------------------
Debugging Package Builds
------------------------
Our ``mpileaks`` package is still not building. It may be obvious to
many of you that we never ran the configure script. Let's add a
call to ``configure()`` to the top of the install routine. The resulting
package.py is in ``$SPACK_ROOT/lib/spack/docs/tutorial/examples/3.package.py``:
.. literalinclude:: tutorial/examples/3.package.py
:lines: 25-
:language: python
If we re-run we still get errors:
.. code-block:: console
==> Installing mpileaks
==> Using cached archive: SPACK_ROOT/var/spack/cache/mpileaks/mpileaks-1.0.tar.gz
==> Already staged mpileaks-1.0-lfgf53rns5mswq25rxckzgvmjc6ywam7 in SPACK_ROOT/var/spack/stage/mpileaks-1.0-lfgf53rns5mswq25rxckzgvmjc6ywam7
==> No patches needed for mpileaks
==> Building mpileaks [Package]
==> Executing phase: 'install'
==> Error: ProcessError: Command exited with status 1:
'./configure'
1 error found in build log:
[ ... ]
21 checking whether SPACK_ROOT/lib/spack/env/gcc/gcc and cc understand -c and -o together... yes
22 checking whether we are using the GNU C++ compiler... yes
23 checking whether SPACK_ROOT/lib/spack/env/gcc/g++ accepts -g... yes
24 checking dependency style of SPACK_ROOT/lib/spack/env/gcc/g++... gcc3
25 checking for SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.0.0-yo5qkfvumpmgmvlbalqcadu46j5bd52f/bin/mpicc... SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.0.0-yo5qkfvumpmgmvlbalqcadu46j5bd52f/bin/mpicc
26 Checking whether SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.0.0-yo5qkfvumpmgmvlbalqcadu46j5bd52f/bin/mpicc responds to '-showme:compile'... yes
>> 27 configure: error: unable to locate adept-utils installation
See build log for details:
SPACK_ROOT/var/spack/stage/mpileaks-1.0-lfgf53rns5mswq25rxckzgvmjc6ywam7/mpileaks-1.0/spack-build.out
Again, the problem may be obvious. But let's pretend we're not
all intelligent developers and use this opportunity spend some
time debugging. We have a few options that can tell us about
what's going wrong:
As per the error message, Spack has given us a ``spack-build.out`` debug log:
.. code-block:: console
==> Executing phase: 'install'
==> './configure'
checking metadata... no
checking installation directory variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... SPACK_ROOT/lib/spack/env/gcc/gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether SPACK_ROOT/lib/spack/env/gcc/gcc accepts -g... yes
checking for SPACK_ROOT/lib/spack/env/gcc/gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of SPACK_ROOT/lib/spack/env/gcc/gcc... gcc3
checking whether SPACK_ROOT/lib/spack/env/gcc/gcc and cc understand -c and -o together... yes
checking whether we are using the GNU C++ compiler... yes
checking whether SPACK_ROOT/lib/spack/env/gcc/g++ accepts -g... yes
checking dependency style of SPACK_ROOT/lib/spack/env/gcc/g++... gcc3
checking for SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.0.0-yo5qkfvumpmgmvlbalqcadu46j5bd52f/bin/mpicc... SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.0.0-yo5qkfvumpmgmvlbalqcadu46j5bd52f/bin/mpicc
Checking whether SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.0.0-yo5qkfvumpmgmvlbalqcadu46j5bd52f/bin/mpicc responds to '-showme:compile'... yes
configure: error: unable to locate adept-utils installation
This gives us the output from the build, and mpileaks isn't
finding its ``adept-utils`` package. Spack has
automatically added the include and library directories of
``adept-utils`` to the compiler's search path, but some packages like
mpileaks can sometimes be picky and still want things spelled out on
their command line. But let's continue to pretend we're not brilliant
developers, and explore some other debugging paths:
We can also enter the build area and try to manually run the build:
.. code-block:: console
$ spack env mpileaks bash
$ spack cd mpileaks
The ``spack env`` command spawned a new shell that contains the same
environment that Spack used to build the mpileaks package (you can
substitute bash for your favorite shell). The ``spack cd`` command
changed our working dirctory to the last attempted build for mpileaks.
From here we can manually re-run the build:
.. code-block:: console
$ ./configure
checking metadata... no
checking installation directory variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for gcc... SPACK_ROOT/lib/spack/env/gcc/gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether SPACK_ROOT/lib/spack/env/gcc/gcc accepts -g... yes
checking for SPACK_ROOT/lib/spack/env/gcc/gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of SPACK_ROOT/lib/spack/env/gcc/gcc... gcc3
checking whether SPACK_ROOT/lib/spack/env/gcc/gcc and cc understand -c and -o together... yes
checking whether we are using the GNU C++ compiler... yes
checking whether SPACK_ROOT/lib/spack/env/gcc/g++ accepts -g... yes
checking dependency style of SPACK_ROOT/lib/spack/env/gcc/g++... gcc3
checking for SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.0.0-yo5qkfvumpmgmvlbalqcadu46j5bd52f/bin/mpicc... SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.0.0-yo5qkfvumpmgmvlbalqcadu46j5bd52f/bin/mpicc
Checking whether SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/openmpi-3.0.0-yo5qkfvumpmgmvlbalqcadu46j5bd52f/bin/mpicc responds to '-showme:compile'... yes
configure: error: unable to locate adept-utils installation
We're seeing the same error, but now we're in a shell where we can run
the command ourselves and debug as needed. We could, for example, run
``./configure --help`` to see what options we can use to specify
dependencies.
We can use the ``exit`` command to leave the shell spawned by ``spack
env``.
------------------------------
Specifying Configure Arguments
------------------------------
Let's add the configure arguments to the mpileaks' ``package.py``. This
version can be found in
``$SPACK_ROOT/lib/spack/docs/tutorial/examples/4.package.py``:
.. literalinclude:: tutorial/examples/4.package.py
:lines: 25-
:language: python
This is all we need for working mpileaks! If we install now we'll see:
.. code-block:: console
$ spack install mpileaks
...
==> Installing mpileaks
==> Using cached archive: SPACK_ROOT/var/spack/cache/mpileaks/mpileaks-1.0.tar.gz
==> Staging archive: SPACK_ROOT/var/spack/stage/mpileaks-1.0-lfgf53rns5mswq25rxckzgvmjc6ywam7/mpileaks-1.0.tar.gz
==> Created stage in SPACK_ROOT/var/spack/stage/mpileaks-1.0-lfgf53rns5mswq25rxckzgvmjc6ywam7
==> No patches needed for mpileaks
==> Building mpileaks [Package]
==> Executing phase: 'install'
==> Successfully installed mpileaks
Fetch: 0.00s. Build: 9.01s. Total: 9.01s.
[+] SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/mpileaks-1.0-lfgf53rns5mswq25rxckzgvmjc6ywam7
There are some special circumstances in package that are worth highlighting.
Normally spack would have automatically detected that mpileaks was an
Autotools-based package when we ran ``spack create`` and made it an ``AutoToolsPackage`` class (except we added the ``-t generic`` option to skip this). Instead of
a full install routine we would have just written:
.. code-block:: python
def configure_args(self):
args = ['--with-adept-utils=%s' % self.spec['adept-utils'].prefix,
'--with-callpath=%s' % self.spec['callpath'].prefix]
return args
Similarly, if this had been a CMake-based package we
would have been filling in a ``cmake_args`` function instead of
``configure_args``. There are similar default package types for
many build environments.
--------
Variants
--------
We have a successful mpileaks build, but let's take some time to improve
it. ``mpileaks`` has a build-time option to truncate parts of the stack
that it walks. Let's add a variant to allow users to set this when they
build in Spack.
To do this, we'll add a variant to our package, as per the following (see
``$SPACK_ROOT/lib/spack/docs/tutorial/examples/5.package.py``):
.. literalinclude:: tutorial/examples/5.package.py
:lines: 25-
:language: python
We've added the variant ``stackstart``, and given it a default value of
``0``. If we install now we can see the stackstart variant added to the
configure line (output truncated for length):
.. code-block:: console
$ spack install --verbose mpileaks stackstart=4
...
==> Installing mpileaks
==> Using cached archive: SPACK_ROOT/var/spack/cache/mpileaks/mpileaks-1.0.tar.gz
==> Staging archive: SPACK_ROOT/var/spack/stage/mpileaks-1.0-gxxi4fp57b4j6xalra5t65hyx5rj25t7/mpileaks-1.0.tar.gz
==> Created stage in SPACK_ROOT/var/spack/stage/mpileaks-1.0-gxxi4fp57b4j6xalra5t65hyx5rj25t7
==> No patches needed for mpileaks
==> Building mpileaks [Package]
==> Executing phase: 'install'
==> './configure' '--with-adept-utils=SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/adept-utils-1.0.1-pm3gffhrnwsdtqthtvsfvs2tny4r65wb' '--with-callpath=SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/callpath-1.0.4-ikbbkvfmsfmqzo624nvvrbooovf7egoc' '--prefix=SPACK_ROOT/opt/spack/linux-ubuntu16.04-x86_64/gcc-5.4.0/mpileaks-1.0-gxxi4fp57b4j6xalra5t65hyx5rj25t7' '--with-stack-start-c=4' '--with-stack-start-fortran=4'
---------------
The Spec Object
---------------
This tutorial has glossed over a few important features, which weren't
too relevant for mpileaks but may be useful for other packages. There
were several places we references the ``self.spec`` object. This is a
powerful class for querying information about what we're building. For
example, you could use the spec to query information about how a
package's dependencies were built, or what compiler was being used, or
what version of a package is being installed. Full documentation can be
found in the :ref:`packaging-guide`, but here's some quick snippets with
common queries:
- Am I building ``mpileaks`` version ``1.1`` or greater?
.. code-block:: python
if self.spec.satisfies('@1.1:'):
# Do things needed for 1.1+
- Is ``openmpi`` the MPI I'm building with?
.. code-block:: python
if self.spec['mpi'].name == 'openmpi':
# Do openmpi things
- Am I building with ``gcc`` version less than ``5.0.0``:
.. code-block:: python
if self.spec.satisfies('%gcc@:5.0.0'):
# Add arguments specific to gcc's earlier than 5.0.0
- Am I built with the ``debug`` variant:
.. code-block:: python
if self.spec.satisfies('+debug'):
# Add -g option to configure flags
- Is my ``dyninst`` dependency greater than version ``8.0``?
.. code-block:: python
if self.spec['dyninst'].satisfies('@8.0:'):
# Use newest dyninst options
More examples can be found in the thousands of packages already added to
Spack in ``$SPACK_ROOT/var/spack/repos/builtin/packages``.
Good Luck!

1413
lib/spack/docs/workflows.rst Normal file

File diff suppressed because it is too large Load Diff

463
lib/spack/env/cc vendored
View File

@@ -1,27 +1,27 @@
#!/bin/bash
##############################################################################
# Copyright (c) 2013, Lawrence Livermore National Security, LLC.
# Copyright (c) 2013-2017, 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
# Please also see the LICENSE file for our notice and the LGPL.
# For details, see https://github.com/spack/spack
# Please also see the NOTICE and LICENSE files 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,28 @@
# -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_DEBUG_LOG_ID
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 +73,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 +86,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|xlc)
command="$SPACK_CC"
language="C"
;;
c++|CC|g++|clang++|xlC)
command="$SPACK_CXX"
language="C++"
;;
f77|xlf)
command="$SPACK_F77"
language="Fortran 77"
;;
fc|f90|f95|xlf90)
command="$SPACK_FC"
language="Fortran 90"
;;
cpp)
mode=cpp
;;
cc|c89|c99|gcc|clang|icc|pgcc|xlc|xlc_r)
command="$SPACK_CC"
language="C"
comp="CC"
lang_flags=C
;;
c++|CC|g++|clang++|icpc|pgc++|xlc++|xlc++_r)
command="$SPACK_CXX"
language="C++"
comp="CXX"
lang_flags=CXX
;;
ftn|f90|fc|f95|gfortran|flang|ifort|pgfortran|xlf90|xlf90_r|nagfor)
command="$SPACK_FC"
language="Fortran 90"
comp="FC"
lang_flags=F
;;
f77|gfortran|flang|ifort|pgfortran|xlf|xlf_r|nagfor|ftn)
command="$SPACK_F77"
language="Fortran 77"
comp="F77"
lang_flags=F
;;
ld)
mode=ld
;;
@@ -113,220 +131,235 @@ 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 ]] || [[ $mode == ld ]]; 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
# Save original command for debug logging
input_command="$@"
#
# 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.
# Set paths as defined in the 'environment' section of the compiler config
# names are stored in SPACK_ENV_TO_SET
# values are stored in SPACK_ENV_SET_<varname>
#
includes=()
libraries=()
libs=()
rpaths=()
other_args=()
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
IFS=':' read -ra env_set_varnames <<< "$SPACK_ENV_TO_SET"
for varname in "${env_set_varnames[@]}"; do
spack_varname="SPACK_ENV_SET_$varname"
export $varname=${!spack_varname}
unset $spack_varname
done
# 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
# 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")
fi
if [ -d "$dep/lib" ]; then
libraries+=("$dep/lib")
rpaths+=("$dep/lib")
fi
if [ -d "$dep/lib64" ]; then
libraries+=("$dep/lib64")
rpaths+=("$dep/lib64")
fi
done
# Include all -L's and prefix/whatever dirs in rpath
for dir in "${libraries[@]}"; do
[[ dir = $SPACK_INSTALL* ]] && 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
fi
#
# Unset pesky environment variables that could affect build sanity.
#
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+=(".")
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"
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
full_command=("$command")
full_command+=("${args[@]}")
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 || $mode == ccld) && "$SPACK_SHORT_SPEC" =~ "darwin" ]]; then
for arg in "$@"; do
if [[ ($arg == -r && $mode == ld) || ($arg == -r && $mode == ccld) || ($arg == -Wl,-r && $mode == ccld) ]]; then
add_rpaths=false
break
fi
done
fi
# Save original command for debug logging
input_command="$@"
args=("$@")
# Prepend cppflags, cflags, cxxflags, fcflags, fflags, and ldflags
# Add ldflags
case "$mode" in
ld|ccld)
args=(${SPACK_LDFLAGS[@]} "${args[@]}") ;;
esac
# 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
# 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
# Prepend lib and RPATH directories
if [[ -d $dep/lib ]]; then
if [[ $mode == ccld ]]; then
if [[ $SPACK_RPATH_DEPS == *$dep* ]]; then
$add_rpaths && args=("$rpath$dep/lib" "${args[@]}")
fi
if [[ $SPACK_LINK_DEPS == *$dep* ]]; then
args=("-L$dep/lib" "${args[@]}")
fi
elif [[ $mode == ld ]]; then
if [[ $SPACK_RPATH_DEPS == *$dep* ]]; then
$add_rpaths && args=("-rpath" "$dep/lib" "${args[@]}")
fi
if [[ $SPACK_LINK_DEPS == *$dep* ]]; then
args=("-L$dep/lib" "${args[@]}")
fi
fi
fi
# Prepend lib64 and RPATH directories
if [[ -d $dep/lib64 ]]; then
if [[ $mode == ccld ]]; then
if [[ $SPACK_RPATH_DEPS == *$dep* ]]; then
$add_rpaths && args=("$rpath$dep/lib64" "${args[@]}")
fi
if [[ $SPACK_LINK_DEPS == *$dep* ]]; then
args=("-L$dep/lib64" "${args[@]}")
fi
elif [[ $mode == ld ]]; then
if [[ $SPACK_RPATH_DEPS == *$dep* ]]; then
$add_rpaths && args=("-rpath" "$dep/lib64" "${args[@]}")
fi
if [[ $SPACK_LINK_DEPS == *$dep* ]]; then
args=("-L$dep/lib64" "${args[@]}")
fi
fi
fi
done
# Include all -L's and prefix/whatever dirs in rpath
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
# Set extra RPATHs
IFS=':' read -ra extra_rpaths <<< "$SPACK_COMPILER_EXTRA_RPATHS"
for extra_rpath in "${extra_rpaths[@]}"; do
if [[ $mode == ccld ]]; then
$add_rpaths && args=("$rpath$extra_rpath" "${args[@]}")
args=("-L$extra_rpath" "${args[@]}")
elif [[ $mode == ld ]]; then
$add_rpaths && args=("-rpath" "$extra_rpath" "${args[@]}")
args=("-L$extra_rpath" "${args[@]}")
fi
done
# Add SPACK_LDLIBS to args
case "$mode" in
ld|ccld)
args=("${args[@]}" ${SPACK_LDLIBS[@]}) ;;
esac
full_command=("$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
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
if [[ $SPACK_DEBUG == TRUE ]]; then
input_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_DEBUG_LOG_ID.in.log"
output_log="$SPACK_DEBUG_LOG_DIR/spack-cc-$SPACK_DEBUG_LOG_ID.out.log"
echo "[$mode] $command $input_command" >> "$input_log"
echo "[$mode] ${full_command[@]}" >> "$output_log"
fi
exec "${full_command[@]}"

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/clang/flang vendored Symbolic link
View File

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

1
lib/spack/env/clang/gfortran 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/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

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

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

1
lib/spack/env/xl_r/xlc_r vendored Symbolic link
View File

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

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