Commit graph

1510 commits

Author SHA1 Message Date
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
Tom Scogland
31803d10aa bringing back configuration and build stages 2016-01-02 11:59:33 -08: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
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