Commit graph

746 commits

Author SHA1 Message Date
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
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
Gregory L. Lee
7891346a4f fix for issue 398, added extensions_for in RepoPath 2016-01-26 09:52:01 -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
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
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
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
1c2a2dde8e Merge pull request #350 from adamjstewart/features/nag
Add NAG Fortran Compiler support
2016-01-20 17:09:31 -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
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
e6aa2610bc Add symlink for NAG Fortran Compiler 2016-01-19 13:07: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
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
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
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
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
Adam J. Stewart
f9fbb57d31 Add NAG Fortran Compiler support 2016-01-13 12:32:04 -06: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
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
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