Commit graph

2882 commits

Author SHA1 Message Date
Peter J. Scheibel
74b439b7f1 Support 'COMPILERVERSION' in spec format string 2016-11-04 11:41:20 -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
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
scheibelp
45a4388164 Update references in debug command (#2204) 2016-11-01 13:55:13 -07: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
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
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
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
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
Adam J. Stewart
58409a2eaf Fix rpath linking for NAG, add documentation on setup (#2142) 2016-10-27 15:28:09 -07:00
Elizabeth Fischer
12270b9dbf Remove support for deprecated package. See also #2085 and #2086 (#2090) 2016-10-26 21:53:08 -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
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
33fb7bbd1b add a unit test for conretization with develop version (#2064) 2016-10-26 01:49:52 -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
Adam J. Stewart
a250792202 Find compatibility versions of GCC (#2099) 2016-10-25 11:07:49 -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
Massimiliano Culpo
b27e78cd78 spack setup : fixed regression after #1186 (#2117) 2016-10-25 07:53:11 -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
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
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
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
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
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
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
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
Eric
306eea5e59 Support for bazel (#2023)
* Add package bazel

* Add support for bazel-based builds
2016-10-18 07:46:42 -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
Massimiliano Culpo
8d5961ecaf spack purge : updated documentation fixes #1938 (#2025) 2016-10-15 15:51:49 -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
Todd Gamblin
d861a52ebe Use cYAML if it is available in Python. (#2010) 2016-10-12 18:25:18 -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
Massimiliano Culpo
eb17895630 environment modifications : permit to pass parameters along with file to be sourced (#1626) 2016-10-11 22:55:14 -07:00
alalazo
dd56784d28 qa : flake8 issues 2016-10-11 16:44:18 +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
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
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
Kelly Thompson
ff1108712c Make CMake-based builds more verbose by default. (#1988) 2016-10-11 00:43:36 -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
Jean-Paul Pelteret
876c26f658 Add documentation for standard python repositories. (#1970)
Fixes #1939
2016-10-07 22:46:22 -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
Adam J. Stewart
415ddeecf8 Fix bugs preventing readthedocs from rebuilding the documentation (#1945) 2016-10-06 12:50:49 -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
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
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
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
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
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
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
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
Todd Gamblin
36c79e9df6 Fixes #1893: missing import 2016-10-04 01:49:07 -07:00
Michael Kuhn
8d1ec0df3d Fix read locks on read-only file systems (#1857) 2016-09-30 09:45:08 -07:00
Todd Gamblin
295742e2b5 Fixes #1860. Subversion builds sequentially due to race. 2016-09-28 15:18:52 -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
6df84a794b Add single letter arg flags for spack graph (#1871) 2016-09-28 12:09:31 -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
Todd Gamblin
cb36aadaf6 Fix doc bugs, widen columns in the package list 2016-09-23 18:07:33 -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
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
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
Matt Belhorn
94b24e8893 Adds all available CrayPE CPU targets to platform by default. (#1745) 2016-09-21 01:48:33 -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
Denis Davydov
27801c354b fix MacOs class for Sierra (#1811) 2016-09-20 17:25:23 -07:00
Massimiliano Culpo
eb8a0ef75e fix : failing unit tests due to missing self (#1806) 2016-09-20 07:47:13 -07:00
Eric
c9fe2cd469 Fix format string (in class RemoveFailedError) (#1803) 2016-09-20 02:27:35 -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
Michael Kuhn
7043fff807 Fix location -p and -P (#1776) 2016-09-15 10:48:28 +08:00
Erik Schnetter
6117ef44e4 Make libstdc++-detection work on Darwin (#1778) 2016-09-15 10:42:14 +08:00
Adam J. Stewart
a22f5d8d86 Don't overwrite PYTHONPATH in docs Makefile (#1693) 2016-09-08 09:02:56 -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
Todd Gamblin
f34dd94166 Add debug command for creating tarball of install DB. 2016-09-06 07:55:54 -07:00
alalazo
fc576a40d6 modules : ('build',) type dependencies are not accounted when autoloading
fixes #1681
2016-09-06 15:07:11 +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
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
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
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
Erik Schnetter
efc570afab Expand/clarify description of dependency types 2016-08-31 14:42:32 -04:00
Todd Gamblin
0ff048521b Fix modules.rst doc build warning. 2016-08-30 22:15:13 -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
176a84a828 Don't test sphinx-generated conf.py for flake8 issues. 2016-08-30 20:30:43 -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
9b455e9254 Resolve new documentation issues that have cropped up 2016-08-30 15:58:22 -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
6795f4ca12 Use console instead of shell syntax lexer, fixes #1634 2016-08-30 15:35:58 -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
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
fda7fcd73d Fix #1594, duplicate explicit target name 2016-08-30 15:21:15 -05: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
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
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
Tyler Esser
83897af710 Documentation: Fix accidental quotation. version() takes expand as a keyword. (#1640) 2016-08-28 20:16:08 -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
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
062ff13da6 Make spack info print deps in sorted order 2016-08-24 14:10:25 -07:00
Elizabeth Fischer
85be3aefa7 Put url_for_version() after versions in example. 2016-08-24 15:26:19 -04: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
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
Adam J. Stewart
df623dad15 Suggest setuptools when creating Python package 2016-08-19 14:31:42 -05:00
Nicolas Richart
37faa41b6f stripping the links to remove spaces and '\n' 2016-08-15 21:13:25 +02:00
Todd Gamblin
1e673bfa42 Don't assume spack is in the path when buildign docs. 2016-08-15 10:49:09 -07:00
Adam J. Stewart
c815aed207 Update documentation for spack md5 2016-08-12 10:51:56 -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
Matt Belhorn
568305ddff Corrects Cray compiler name and adds missing version flag. 2016-08-11 13:56:21 -04: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
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
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
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
George Hartzell
4bca1c5440 Fix typo 'flexbile' -> 'flexible' 2016-08-09 15:13:08 -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
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
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
Adam J. Stewart
5d48c108a3 Only strip newline chars, not spaces 2016-08-08 15:02:05 -05: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
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
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
Torbjörn Lönnemark
61b3ecb6d2 Fix flake8 issues 2016-08-04 16:28:14 +02:00
Torbjörn Lönnemark
a591e183bc Fix incorrect indentation 2016-08-04 16:09:49 +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
James Riley Wynne III
f0609699ba Added parens to %'s arguments. Fixes #1432 2016-08-03 17:16:04 -04: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
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
Adam J. Stewart
941acef009 spack create should use setup_py() instead of python() 2016-08-02 12:20:28 -05: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
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
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
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
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
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
630ff6871d Merge pull request #1346 from glennpj/url_list_fetch
Url list fetch
2016-08-01 13:37:57 -07:00
Adam J. Stewart
5b79f0d04a Fix backup=True for filter_file 2016-08-01 15:35:02 -05:00
Glenn Johnson
19578d954f Fix flake8 line length errors 2016-08-01 13:37:42 -05: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
Matt Belhorn
dc7e0899a0 Invokes subshell without user init scripts. 2016-07-30 11:38:34 -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
Paul Hopkins
5eebb2defa Use space characters to separate preferred variants from package name and each other 2016-07-29 13:02:47 +01: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
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
alalazo
9c7b98dcc8 modules : handle dashes in environment variables 2016-07-26 09:03:17 +02:00
becker33
e4ced765f1 Merge pull request #1353 from epfl-scitas/qa/minor_cleanup
qa : minor cleanup
2016-07-25 10:34:43 -07: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
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
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
Adam J. Stewart
ebbcebac62 Use example deptypes in newly created packages 2016-07-22 13:55:00 -05:00
alalazo
00d7fd8e21 test_install : removed commented code 2016-07-22 18:14:36 +02: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
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
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
4e1f86881a Update documentation for recursive module loading. 2016-07-21 13:15:10 +02: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
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
Gregory Becker
eda1176ba7 added package as argument to setup_platform_environment 2016-07-20 12:26:31 -07: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
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
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
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
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
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
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
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
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
Michael Kuhn
19df1ea79d flake8 fix 2016-07-18 17:53:26 +02:00
Paul Hopkins
a46138dea9 More flake8 fixes for package-list 2016-07-18 13:59:58 +01: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
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
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
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
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
9ea4f80f15 flake8 fixes 2016-07-16 07:58:51 +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
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
e822257565 Merge pull request #1251 from hartzell/patch-4
Minor typo fix
2016-07-15 13:51:02 -07: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
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
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
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
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
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
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
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
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
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
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
alalazo
5f861e075c Merged develop into branch 2016-07-11 20:57:55 +02: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
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
George Hartzell
1682257b35 Typo: verison -> version 2016-07-11 09:42:49 -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
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
George Hartzell
1b9e8a0e65 Fix typo
Comamnds -> Commands
2016-07-08 11:01:08 -07: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
Denis Davydov
081918d71a add --run-tests argument for install() 2016-07-06 22:45:30 +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
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
William Killian
1f64f08cb3 (bugfix) fixed typo of spec --> raw_spec 2016-07-05 13:32:37 -07: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
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
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
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
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
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
Peter Scheibel
cfd380d514 added documentation for automatic caching of resources fetched during installs 2016-06-29 18:23:40 -07: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
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
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
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
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
3ea9d1e665 Merge pull request #1122 from LLNL/bugfix/newarch-sys_type
Bugfix/newarch sys type
2016-06-27 10:07:03 -07:00
Adam J. Stewart
798dabc8f2 Forgot the unknown key/value pair 2016-06-27 09:01:53 -05: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
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
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
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
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
30993357d7 Merge pull request #1105 from adamjstewart/fixes/filter_file
Fix backup logic in filter_file
2016-06-26 22:33:09 -07: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
Adam J. Stewart
71a297f121 Fix backup logic in filter_file 2016-06-23 16:44:41 -05:00
Todd Gamblin
27e9bc6d02 Make sbang handle lua
- use --! instead of #! for patched lua scripts.
2016-06-23 00:03:23 -07: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
Robert.French
ff3e56cf9a Import which from spack.util.executable; Fixes #1095 2016-06-22 15:25:32 +00:00
alalazo
f29b55957a documentation : removed references to never implemented features 2016-06-22 17:08:02 +02: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
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
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
Adam J. Stewart
aa86488fd9 Flake8 2016-06-20 12:47:17 -05: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
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
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
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
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
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
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
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
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
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
Mario Melara
fe5eec5230 'find and 'add' are options for adding compilers via command line 2016-06-17 09:16:03 -07: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
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
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
Todd Gamblin
88b671f8b1 Just call old os "unknown" 2016-06-16 02:06:19 -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
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
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
a860a3d614 superlu-dist: avoid harcoding blas/lapack/mpi; remove preferred version 2016-06-15 18:21:13 +02: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
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
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
7ce08c4216 Remove last two remaining from external imports 2016-06-08 13:51:31 -06: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
alalazo
564483936f qa : fixed flake8 issues 2016-06-08 16:33:49 +02:00
alalazo
f4a39457de lmod : updated package and dependencies 2016-06-08 15:35:15 +02: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
Todd Gamblin
9d04dccb79 Update version to correspond to master. 2016-06-02 01:20:40 -07:00
Gregory Becker
817f43f927 Fixed config format to allow default compiler flags 2016-05-31 13:39:25 -07:00
Todd Gamblin
7bdf63a0fa Fix some bugs in architecture. 2016-05-31 03:01:05 -07: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
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
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
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
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
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
Gregory Becker
a2f90453f4 Fixed backwards compatibility for compilers.yaml config file 2016-05-26 20:30:05 -07: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
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
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
alalazo
84707ed926 modules : it's possible to add suffixes to module files based on constraint 2016-05-24 15:23:52 +02: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
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
9bd4bc02d6 fixing warning for package fetch 2016-05-22 11:16:00 -07: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
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
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
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
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
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
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
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
Todd Gamblin
138307dd0c Merge pull request #955 from trws/lua-rework
complete lua rework
2016-05-17 13:21:51 -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
Gregory Becker
0fd9cdb861 Fixed config tests for new compiler config format 2016-05-16 09:56:07 -07:00
Gregory Becker
7705603f73 Added more compilers to mock packages tests 2016-05-16 09:43:46 -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
dacedfcc0e formatting to appease flake8 2016-05-16 05:12:30 -07:00
Tom Scogland
c6524d0311 environment: fixed comment and default separator 2016-05-15 09:50:21 -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
a2197f3a41 yet more sacrifices to the god of short-lines 2016-05-14 17:51:58 -07:00
Tom Scogland
df30182a10 appeasing flake8 in environment 2016-05-14 17:39:59 -07: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
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
8ddc1f8977 Move from str.format() to string.Template. 2016-05-14 09:11:04 -04: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
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
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
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
Gregory Becker
45bf93405a Changed spec syntax for new parts from modules feature 2016-05-11 16:23:13 -07: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
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
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
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
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
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
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
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
979b53cab6 qa : modifying 2 packages and a framework file just for the sake of it 2016-05-10 18:33:07 +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
alalazo
f8f71b1c2c modules : prefix_inspections moved to modules.yaml 2016-05-10 13:37:03 +02: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
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
57e495943f Merge pull request #757 from glennpj/extend_r
Make R extendable
2016-05-10 01:30:13 -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
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
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
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
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
Denis Davydov
7a2d65967c wrap tty.die to 80 chars 2016-05-09 22:04:34 +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
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
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
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
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
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
Todd Gamblin
9fb1a9537d Merge branch 'develop' into features/cflags 2016-05-05 10:49:15 -07: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
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
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
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
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
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
c35994d5bf Merge pull request #850 from mathstuf/partial-downloads
fetch_strategy: download to temporary files
2016-04-28 10:22:43 -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
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
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
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
alalazo
99b52e6e71 test-install : wip to add other information 2016-04-26 16:41:33 +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
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
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
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
Patrick Gartung
d5d1e89cbd remove use of unknown environment variable in lib/spack/env/cc (#821) 2016-04-21 19:15:54 -07:00
Adam Lyon
e92da6a6ba Handle c++11 and c++14 correctly 2016-04-19 16:52:08 -05:00
alalazo
5deaaa278c modules : added a few unit tests 2016-04-19 14:25:12 +02: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
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
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
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
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
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
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
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
Glenn Johnson
b19d6ab9c5 Check for non-numeric bits in the stem. 2016-04-06 19:08:01 -05: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
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
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
e104592e1f Merge pull request #738 from eschnett/eschnett/cleanup-cc
Clean up cc script
2016-04-05 10:50:45 -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
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