Commit graph

1313 commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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