Massimiliano Culpo
1bef2b7e98
variable referenced before assignment ( #2252 )
2016-11-05 10:15:29 -07:00
Jeffrey Salmond
a260e7e860
Bugfix in concretize_compiler ( #2196 )
...
* fix bug in search for concrete compiler
* simplify implementation of concretize_compiler
* fix flake8 errors
2016-11-04 23:20:49 -07:00
scheibelp
0940ee6015
Fixes #1520 ( #1822 )
...
Some packages which include resources fetched from source control
repositories terminated package installs because they failed to
archive; specifically, this included all SCM resources which identify
a specific state of the repo - for example a revision in svn or a
tag/revision in git. This is because the resource stage creation
logic did not choose an appropriate archive name for these kinds of
resources.
2016-11-04 20:14:56 -07:00
Adam J. Stewart
4e6d535058
Set Clang as the default compiler on macOS ( #2225 )
...
* Set OS-specific default compilers
* Fix flake8 warnings
2016-11-04 17:32:25 -07:00
Todd Gamblin
78154a63e8
Fix bug in distribution detection on unsupported platforms.
2016-11-04 16:49:19 -07:00
Jeffrey Salmond
9cd83a4efb
Use code from the distro
package to improve linux distro detection. ( #1629 )
...
* Use code from the `distro` package to improve linux distro detection.
Various issues [1] [2] with the platform.linux_distribution function led
to the function being deprecated in python 3.4. The pipi package distro
[3] contains compatible improved code that better tracks current methods
for identifying linux distributions (see, for example, [4],[5]).
[1]: https://bugs.python.org/issue20454
[2]: http://bugs.python.org/issue1322
[3]: https://pypi.python.org/pypi/distro
[4]: https://refspecs.linuxbase.org/LSB_3.0.0/LSB-PDA/LSB-PDA/lsbrelease.html
[5]: https://www.freedesktop.org/software/systemd/man/os-release.html
* fix (potential) unicode problems
2016-11-04 16:38:44 -07:00
Axel Huebl
c3d9dda0e5
libSplash: Add 1.6.0 Release ( #2244 )
...
* libSplash: Add 1.6.0 Release
Add the latest release of libSplash, version 1.6.0.
* Fix flake8 checks (another loop inversion issue)
2016-11-04 16:27:17 -07:00
Massimiliano Culpo
401b4cb137
module files tutorial : first complete draft ( #2228 )
...
* module files tutorial : first complete draft
- first complete draft for module files tutorial
- minor corrections to module file reference
* module file tutorial : first batch of corrections
- module avail spelled out fully
- typos from @adamjstewart
- rewording of a few sentences
* module file tutorial : first batch of corrections
- emphasized lines in yaml files
* module file tutorial : fixes according to @citibeth and @adamjstewart reviews
- used long format for command options
- reworded unclear sentence on tokes
- reworked table in reference manual to make it clearer
* module file tutorial : implemented corrections collected on site from @schlyfts
* module file tutorial : removed comment (@hartzell suggestion)
2016-11-04 12:55:43 -07:00
Gregory Lee
ee6eb508cb
patch older config.guess for newer architectures ( #2221 )
2016-11-04 12:12:37 -07:00
Todd Gamblin
2536029ea9
Better spack spec ( #2238 )
...
* Add options for hashes, tree depth, and YAML to `spack spec`.
- Can now display hashes with `spack spec`, like `spack find`.
- Removed the old "ids" argument to `spack spec` (which
printed numerical values)b
- Can output YAML spec from `spack spec` with `-y`
- Can control depth of DAG traversal with --cover=[nodes|edges|paths]
- Can print install status (installed, missing, not installed) with -I
* Don't use YAML aliases in specs.
- Force Spack's YAML dumper to ignore aliases.
- aliases cause non-canonical YAML to be used in DAG hash, and result in
redundant hashes.
- add a test to ensure this behavior stays
2016-11-04 11:47:57 -07:00
Peter J. Scheibel
9a585e6c6a
Make spec.format properties case-insensitive
2016-11-04 11:41:20 -07:00
Peter J. Scheibel
74b439b7f1
Support 'COMPILERVERSION' in spec format string
2016-11-04 11:41:20 -07:00
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
alalazo
d546d828d3
module file : added filtering based on environment variable name
2016-04-05 13:20:28 +02:00
Mario Melara
9bfc83ac5c
Changed so that py_platform.dist() grabs the major version number.
2016-04-04 15:36:10 -07:00
Todd Gamblin
0296f96c7b
Resolves #739 . Don't call setup_dependent_* for package itself.
2016-04-04 13:56:15 -07:00
Mario Melara
6d73c86209
Gives error on cori that [PrgEnv-xx, gcc/x.x.x] is not part of the schema. Changed it to oneOf : type : array to get rid of the error.
2016-04-04 13:45:15 -07:00
Mario Melara
9c071ea40d
Changed modulecmd parameters. return_oe is not one of the parameters in the mainline spack repo. Changed the args to the appropriate ones in the new spack
2016-04-04 13:44:24 -07:00
Erik Schnetter
0ff059e388
Clean up comments and output messages
2016-04-04 16:00:09 -04:00
Erik Schnetter
83d6e04d39
Convert =
to ==
in tests; untabify
2016-04-04 15:38:21 -04:00
Erik Schnetter
7bc28cc334
Clean up cc script
2016-04-04 14:33:48 -04:00
Todd Gamblin
5084130e71
Merge pull request #715 from citibeth/efischer/160401-EnvironmentModules
...
Added Environment Modules
2016-04-04 10:41:54 -07:00
Todd Gamblin
c7b11360e9
Merge pull request #732 from citibeth/efischer/160403-ConditionalExtendsBugfix
...
[Needs Review] Fix conditional extends (BUG #683 )
2016-04-04 10:21:26 -07:00
Todd Gamblin
a6c1cfe037
Merge pull request #670 from epfl-scitas/uninstall_improved
...
enhancement : recursive uninstallation of dependent packages
2016-04-04 10:04:14 -07:00
Todd Gamblin
bb968fc5a2
Fix #620 , Resolve #664 . Fix issues with build environment.
...
- Also added better regression tests for build environment.
2016-04-04 02:52:38 -07:00
alalazo
f40b0f52e0
uninstall : updated documentation and error messages
2016-04-04 10:59:01 +02:00
alalazo
401dcb3635
uninstall : renamed --recursive
to --dependents
2016-04-04 10:28:47 +02:00
Elizabeth F
2f4d8a634d
Fix conditional extends (BUG #683 )
2016-04-03 21:41:46 -04:00
citibeth
281835887a
Added documentation for recursive modules
2016-04-01 22:54:49 -04:00
Elizabeth F
c6d8208150
Added recursive module loading
2016-04-01 22:54:42 -04:00
citibeth
459aab628d
Added documentation for installing Environment Modules with Spack.
2016-04-01 16:00:58 -04:00
Peter Scheibel
9eb314fcaa
merge from develop
2016-03-31 12:56:34 -07:00
Todd Gamblin
220c72d67f
Merge branch 'features/blas-lapack-hardening' into develop
2016-03-31 11:37:09 -07:00
Todd Gamblin
a670408617
Quick fix for pkg diff.
2016-03-31 11:34:27 -07:00
Tom Scogland
5d2151ed64
reworked to deal with stage.path as property
...
This version actually pulls the path through the package to deliver it
to each stage on creation when passed through the command. This is
necessary due to the new StageComposite class that makes setting the
path directly on the stage impractical, it also takes the logic out of
package for the most part, which seems like an improvement.
2016-03-31 10:20:55 -07:00
Tom Scogland
63f824b218
add a path argument to the stage command
...
Allow users to use spack to stage a, potentially complex, package into a
given path. This is nice for packages with multiple resources that must
be placed, for example LLVM with all sub-projects.
2016-03-31 09:56:26 -07:00
Massimiliano Culpo
4f6320a7eb
uninstall : added unit tests
2016-03-31 13:22:48 +02:00
Massimiliano Culpo
dd1c667d8d
uninstall : changed error message
2016-03-30 16:10:20 +02:00
Peter Scheibel
a0c42a3fd1
removed stale TODO
2016-03-29 18:58:18 -07:00
Peter Scheibel
c40559433b
added docstring
2016-03-29 18:54:24 -07:00
Peter Scheibel
03d907e1e5
in the case of multiple digests, avoid creating different mirror filenames from run to run (as long as the available digests do not change)
2016-03-29 18:48:25 -07:00
Peter Scheibel
ce4de6227e
(1) access package via spec property (2) use any digest to form archive filename
2016-03-29 18:45:58 -07:00
Peter Scheibel
bee224c567
mirror archive filename now includes the digest type as well as the digest
2016-03-29 18:25:22 -07:00
Gregory Becker
7e9baf9e25
Made architecture test robust for more architectures
2016-03-29 11:23:36 -07:00
Massimiliano Culpo
653d7c5257
uninstall : minor fixes
2016-03-29 17:28:46 +02:00
Todd Gamblin
a05bea7de5
Merge pull request #681 from LLNL/bugfix/complete-restage
...
Fix bug in restage
2016-03-29 05:11:21 -07:00
Todd Gamblin
dfc5cf288c
Fix bug in restage
...
- Restage previously only removed the source directory from the stage.
- Now removes any other directories in stage as well.
2016-03-29 04:35:41 -07:00
Todd Gamblin
e1fdd4341b
Merge branch 'eschnett-correct-cc' into develop
2016-03-29 04:16:18 -07:00
Todd Gamblin
f80e839ff4
Handle Darwin's ld -r option properly
...
- ld -r doesn't work with RPATH on OS X.
- for GNU ld, the -r option only means 'relocatable',
and doesn't affect RPATH.
- This adds special handling to omit RPATHs for ld -r on OS X
2016-03-29 03:14:39 -07:00
Todd Gamblin
a14527ec06
Add command to compiler input log.
2016-03-28 15:34:25 -07:00
Massimiliano Culpo
1141f11955
uninstall : added user confirmation
2016-03-29 00:28:02 +02:00
Todd Gamblin
d8579a5b80
Simplify cc: Remove old logic and add better tests.
...
- removed a lot of old logic that was only still needed for tests.
- Added better unit tests for dependency RPATH, -L, and -I args
- tests now check whether the compiler omits -I args in link mode.
2016-03-28 04:11:54 -07:00
Todd Gamblin
f3dd889d44
Fix bug with lib64 RPATH setting in cc.
2016-03-28 03:51:05 -07:00
Todd Gamblin
eb397b5693
Merge pull request #669 from glennpj/module_format
...
Wrap the long description of an environment module so it is more readable
2016-03-27 17:30:07 -07:00
Todd Gamblin
8b45d6f84f
Merge pull request #658 from davydden/metis_parmetis_darwin
...
metis/parmetis/oce/boost: correct install_name on Darwin via a global tool
2016-03-27 16:10:05 -07:00
Denis Davydov
7eca1284c8
metis/parmetis/boost/oce/scalapack: correct install_name on Darwin via a global function.
2016-03-28 00:22:25 +02:00
Massimiliano Culpo
e0f463c4f9
uninstall : added recursive option
2016-03-27 23:56:41 +02:00
Glenn Johnson
5695e4c03d
Wrap the long description of an environment module so it is more readable.
2016-03-27 15:42:20 -05:00
Todd Gamblin
ec107b290f
Merge branch 'correct-cc' of git://github.com/eschnett/spack into eschnett-correct-cc
2016-03-27 13:38:06 -07:00
Todd Gamblin
e049fc2840
Run post-install hoooks before build stage is removed.
...
- Build will properly fail when post-install hoooks fail.
- Post-install hooks have a proper working directory set now.
2016-03-27 11:47:20 -07:00
Todd Gamblin
cde3320582
Add a method to find the containing directory of a library.
2016-03-27 11:32:42 -07:00
Todd Gamblin
dce590fb21
Add a dso_suffix variable to build_environment
...
- Consolidate this in one place so that we don't have to do it in every build.
- Will update further once better OS support is committed. Shoudl
really be an attribute of the forthcoming `Platform` class.
2016-03-27 11:32:42 -07:00
Todd Gamblin
b0b882cbb3
Speed up directives by skipping debug info in stack traversal.
...
- `caller_locals()` doesn't need debug info, only frame locals.
- `get_calling_module()` doesn't either.
- Changed calls to `inspect.stack()` -> `inspect.stack(0)`
2016-03-27 11:30:09 -07:00
citibeth
4a6b5d5247
Update to documentation formatting.
2016-03-27 00:14:10 -04:00
citibeth
a1c965d70d
Fixed imports to make `git spconfig
` work after recent merge from develop.
2016-03-26 20:40:22 -04:00
Peter Scheibel
06c98320a8
handle case where file contents change but resource name does not (e.g. if resource maintainer uses same name for each new version of a package)
2016-03-25 18:38:26 -07:00
Gregory Becker
57ced37229
Fixed a bug in the testing
2016-03-25 17:03:49 -07:00
Gregory Becker
618a9b2d7b
Fixed bug in platform names that I introduced yesterday
2016-03-25 15:41:22 -07:00
Elizabeth F
9889b1a5fe
Added documentation for StagedPackage, etc.
2016-03-25 17:15:15 -04:00
Elizabeth F
8f675b0ee8
Made StagedPackage user-visible.
2016-03-25 17:15:06 -04:00
citibeth
358b387283
Merge remote-tracking branch 'upstream/develop' into efischer/160311-StagedPackage
2016-03-25 17:14:35 -04:00
citibeth
8019748396
Merge remote-tracking branch 'upstream/develop' into efischer/160311-StagedPackage
...
# Conflicts:
# lib/spack/spack/package.py
2016-03-25 15:36:54 -04:00
Peter Scheibel
bd5abb2922
spacing issue
2016-03-24 19:48:15 -07:00
Peter Scheibel
6423eab917
implemented cache_local method for DIY stage (as a noop)
2016-03-24 19:45:10 -07:00
Peter Scheibel
142d1f5cbc
stage creates cache fetcher with cache object (so it can be mocked for tests)
2016-03-24 19:28:21 -07:00
Gregory Becker
315623d361
Fixed things from merge.
2016-03-24 16:55:46 -07:00
Adam J. Stewart
9985816642
Fix spack info indentation
2016-03-24 14:49:41 -05:00
Peter Scheibel
fe71ba992d
remove unused import
2016-03-24 12:16:50 -07:00
Peter Scheibel
13bf7d4ff1
(1) move definition of MockCache to test command (no definitions or extra work is required in MockPackagesTest) (2) removing outdated logic (which originated in this branch) and minor cleanup
2016-03-24 12:02:39 -07:00
alalazo
758a9c9096
python extensions : create PYTHONPATH in module files
2016-03-24 10:57:46 +01:00
alalazo
f095e619b9
module files configuration : enable/disable logic is now positive
2016-03-24 09:31:28 +01:00
Peter Scheibel
dbfa6c925e
replace references to cache directory with references to new cache object. tests may assign a mock cache but by default it is None (this will avoid any implicit caching behavior confusing unit tests)
2016-03-23 20:18:58 -07:00
Peter Scheibel
ed0f6f75a7
clear test cache before and after each MockPackagesTest (I think Ive got a better way to avoid test fragility but Ill add this for now)
2016-03-23 19:49:28 -07:00
Gregory Becker
688eca23ff
cleanup
2016-03-23 09:54:57 -07:00
alalazo
d93f2b335d
modules : fixed annoying indent
2016-03-23 16:04:36 +01:00
alalazo
0fbdb3f65d
modules : added configuration file with disable keyword
2016-03-23 15:54:26 +01:00
Todd Gamblin
38350ae33d
resurrect preferred=True option for packages lost in merge of externals support.
...
- Pyton 2.7.11 is preferred again.
2016-03-23 01:32:54 -07:00
Todd Gamblin
c4134ee71e
Fix #608 : broken numpy build.
...
- Failed to catch all instances of modify_module when it was renamed
to setup_dependent_package.
- Refactored remaining modify_module calls.
- Also modified Python's setup_dependent_package slightly: only
creates empty site-packages directory for Python extensions now, not
for all dependents.
2016-03-23 00:36:32 -07:00
Peter Scheibel
cb9fba98d8
(1) relocate cache for tests (2) initial approach for restoring unit tests (just for git tests although the same concept applies to the other unit tests which are failing - namely those for svn and hg)
2016-03-22 19:37:47 -07:00
Gregory Becker
7c729d4c3c
Merged newarch into merge
2016-03-22 15:22:51 -07:00
Peter Scheibel
75460d8586
URLFetchStrategy.archive does a copy vs. a move now
2016-03-22 10:43:43 -07:00
Todd Gamblin
a26992ef55
Change from PR #552 : rename setup_dependent_python_module -> setup_dependent_package
...
- Fixed in package.py
- Fixed wrong prototypes in packages that use it.
- Fixed build_environment to set module variables properly
- added hacky fix to ensure spec/package consistency in build processes.
- Need to think about defensive spec copy done by `Repo.get`. May be
time to think about an immutable spec implementation.
2016-03-22 01:56:16 -07:00
Peter Scheibel
41a97c8f80
temporarily wrap archiving with conditional to avoid moving (this still causes a failure on the initial download)
2016-03-21 20:55:23 -07:00
Peter Scheibel
b255f02762
undoing whitespace-only diff
2016-03-21 20:50:26 -07:00
Peter Scheibel
ee5e507ff6
pursuing a strategy using fetch.archive and treating var/spack/cache as a mirror. this should support both URLFetchStrategy as well as VCSFetchStrategy (the previous strategy supported only the former). this won't work until URLFetchStrategy.archive is updated
2016-03-21 20:48:12 -07:00
Todd Gamblin
b1516f64eb
Rename some environment methods to be less repetitive, add set_path.
2016-03-21 16:01:40 -07:00
Todd Gamblin
439d47b4e4
Refactor environment setup.
...
- Gave setup_environment and setup_dependent_environment more similar
signatures. They now allows editing the Spack env and the runtime
env for *this* package and dependents, respectively.
- modify_module renamed to setup_dependent_python_module for symmetry
with setup_dependent_environment and to avoid confusion with
environment modules.
- removed need for patching Package objects at runtime.
- adjust packages to reflect these changes.
2016-03-21 16:01:35 -07:00
Todd Gamblin
e88df95b42
Remove unused code from modules.py
2016-03-21 16:01:26 -07:00
Todd Gamblin
48b35bb495
Fix print function in uninstall.py
2016-03-21 16:00:50 -07:00
Todd Gamblin
861a235ecb
Merge pull request #552 from epfl-scitas/features/env_objects_flying_around
...
enhancement proposal : customization of module files
2016-03-21 15:56:20 -07:00
Matthew LeGendre
5d06daeb5e
Add test for issue 573, child with compiler not respected in concretization
2016-03-21 14:28:34 -07:00
Matthew LeGendre
b79fce76cb
Fix issue 573 where Spack was ignoring user's compiler preference in concretization
2016-03-21 14:28:07 -07:00
alalazo
fbeffee91e
Merge branch 'develop' of https://github.com/LLNL/spack into features/env_objects_flying_around
...
Conflicts:
lib/spack/spack/package.py
var/spack/repos/builtin/packages/netlib-scalapack/package.py
2016-03-21 09:46:49 +01:00
alalazo
aef6d50b08
uninstall : fixed typo (print statement vs. print function)
2016-03-21 09:23:25 +01:00
Peter Scheibel
d632266a40
move cache to var/spack/cache
2016-03-18 17:15:45 -07:00
Peter Scheibel
fd067dd8b8
since only archives with checksums can be retrieved from the cache, make sure that an archive without a checksum isnt placed there (this wouldn't cause an error but does waste space and might be confusing)
2016-03-18 17:00:13 -07:00
Peter Scheibel
ac7323118e
rename for clarity
2016-03-18 16:34:45 -07:00
Peter Scheibel
16fa40b893
(1) add a var/cache directory under spack. (2) downloads from URLFetchStrategy check the cache and skip the download if the source is available there.
2016-03-18 15:50:24 -07:00
Todd Gamblin
e9126baaab
Add docs for InstallError.
2016-03-18 13:42:45 -07:00
Todd Gamblin
23f3f1adfe
Make InstallError and ExternalPackageError visiible in packages.
2016-03-18 13:32:37 -07:00
Todd Gamblin
741bea032c
Merge pull request #574 from LLNL/features/flattener
...
Created flatten_dependencies function
2016-03-18 12:13:48 -07:00
Gregory Becker
151b04637e
changed function name and removed hardcoded libs dir
2016-03-18 11:55:31 -07:00
Gregory Becker
af7e3cadde
cleanup
2016-03-18 11:34:07 -07:00
Gregory Becker
76672a4e34
Refactoring flat_install
2016-03-18 11:28:44 -07:00
Todd Gamblin
4e9ba49272
Merge pull request #576 from adamjstewart/features/tar
...
Add support for .tar files
2016-03-18 11:13:17 -07:00
Adam J. Stewart
6acb830263
Add support for .tar files
2016-03-18 13:03:55 -05:00
Gregory Becker
80495e50f9
added error class for error that should never come up
2016-03-18 09:46:18 -07:00
Gregory Becker
1fa38689d8
Created flatten_dependencies function that dummy packages can use to create sane install environments.
2016-03-18 09:35:56 -07:00
alalazo
491babd5cd
env modifications : added a validation rule
2016-03-18 17:09:20 +01:00
alalazo
1e468c5541
modules : added formats mapping
2016-03-18 16:02:44 +01:00
alalazo
ccd90df62f
modules : turned category into a property (logic can be extended later)
2016-03-18 15:41:14 +01:00
alalazo
67ca2c704b
modules : fixed bug in modify_module
arguments
2016-03-18 15:18:26 +01:00
alalazo
ec8cc2b528
PYTHONPATH : python patches methods for its extensions
2016-03-18 14:40:53 +01:00
Ben Morgan
076cc764a7
Add additional suffixes for GCC compiler
2016-03-18 11:26:22 +00:00
alalazo
f9438c75d0
Merge branch 'develop' of https://github.com/LLNL/spack into features/env_objects_flying_around
2016-03-18 10:26:34 +01:00
Erik Schnetter
f3ea0420f8
Import recent changes
2016-03-17 21:53:13 -04:00
Erik Schnetter
84b7cd593f
Merge branch 'develop' into correct-cc
...
# Conflicts:
# lib/spack/env/cc
2016-03-17 21:52:24 -04:00
Todd Gamblin
90268876f7
Change sanity_check_[file|dir] to sanity_check_is_[file|dir], per #554
...
- Add documentation as well.
2016-03-17 18:49:58 -07:00
alalazo
ac394718ec
python : implemented possible solution
2016-03-17 18:22:07 +01:00
alalazo
e673127263
package : added documentation
2016-03-17 18:11:23 +01:00
alalazo
38c3c84969
environment : added caller information
2016-03-17 17:37:33 +01:00
alalazo
3da4d6664b
environment : simplified hierarchy according to comments in review
2016-03-17 15:38:08 +01:00
alalazo
f0f0663d1b
package : split environment_modifications
into setup_environment
and setup_dependent_environment
.
...
package : renamed `module_modifications` to `modify_module` for consistency
2016-03-17 15:11:39 +01:00
alalazo
9cdd79e33f
modules : restored previous logic for path inspection
2016-03-17 14:14:18 +01:00
Adam J. Stewart
bb04d5cc63
Fix grammar in mirrors documentation
2016-03-16 14:27:22 -05:00
alalazo
ac762e95a6
modules : removed dead code
2016-03-16 16:23:02 +01:00
alalazo
597727f8be
tclmodules : added hooks to process EnvironmentModifications objects
2016-03-16 15:19:13 +01:00
alalazo
b45ec3f04e
environment : simplified modification of the environment
2016-03-16 10:55:28 +01:00
alalazo
b2c98feea4
Merge branch 'develop' of https://github.com/LLNL/spack into features/env_objects_flying_around
2016-03-16 09:02:35 +01:00
Todd Gamblin
7eca383b10
Add sanity check paths to packages; fix #505
2016-03-15 17:16:04 -07:00
Matthew LeGendre
108ea1522a
Merge pull request #549 from LLNL/bugfix/gh538-less-greedy-concretize
...
Bugfix/gh538 less greedy concretize
2016-03-15 16:18:54 -07:00
Todd Gamblin
15bbd088e6
Fix #551 : version bug in spack create
...
- `spack create` now sets a proper version in generated file, based on
the filename, even if it can't find any tarballs for the package.
2016-03-15 14:38:06 -07:00
alalazo
c8cc6f4fc1
test : fix for python 2.6
2016-03-15 16:59:29 +01:00
alalazo
ccced9f290
package : optimized imports
2016-03-15 15:12:39 +01:00
alalazo
cc3d9f4eb7
environment : added test, modified docs
2016-03-15 15:09:35 +01:00
alalazo
572cb93bf8
package : renamed setup_dependent_environment
to module_modifications
2016-03-15 14:05:30 +01:00
alalazo
c85888eb57
package : added environment_modifications
2016-03-15 13:36:41 +01:00
alalazo
bcea1df01c
environment : refactoreded set_build_environment_variables
2016-03-15 10:49:33 +01:00
alalazo
f20247ae55
environment : refactoreded set_compiler_environment_variables
2016-03-15 10:08:54 +01:00
alalazo
f9923452b3
environment : added machinery to collect modifications to the environment and apply them later
2016-03-14 14:35:48 +01:00
Todd Gamblin
f2761270f3
Make concretization less greedy: add backtracking for virtuals.
...
- `_expand_virtual_packages` now gets a candidate list and will try
all the candidates.
- Good news: If the first virtual in the list conflicts with something else in
the spec, we'll keep trying until we find a good one.
- Bad news: Only looks as far as the next normalize(); can't see
conflicts further ahead than that if they're inevitable
some other virtual expansion.
- Refactor `concretize.py` to keep all the nasty spec graph stitching in
`spec.py`. This is more similar to before externals support.
- `concretize.py` now just returns a list of candidates sorted by
ABI compatibility to `_expand_virtual_packages`, and `spec.py`
handles testing the candidates.
- Refactor the way external paths are handled in `config.py` and `concretize.py`:
- previously, `spec_externals` returned spec/path pairs. Now it
returns specs with `external` set. Makes code in `concretize.py`
more natural.
2016-03-14 05:04:01 -07:00
Todd Gamblin
f45b8b1083
Add some tests for packages with multiple virtual dependencies.
...
- Added mock `hypre` package, depends on `lapack` and `blas`.
- test cases where some packages provide both `lapack` and `blas`, but
others do not.
2016-03-14 05:02:50 -07:00
Todd Gamblin
05c761dee9
Add package_class
method to spec.
...
- Shouldn't call .package from within things like normalize() and
concretize() beacuse spec may be inconsistent.
- Add `.package_class` property so that we can get at package metadata
without constructing a Package with a Spec.
- should be faster than `.package` was, anyway. Use where possible.
2016-03-14 04:59:29 -07:00
Todd Gamblin
003fd4d834
Optimize __eq__ and __ne__ in key_ordering
...
- use `is` when possible before calling `_cmp_key()`
2016-03-14 04:55:30 -07:00
Elizabeth F
5c865b9b70
Fixed typo in typo fix.
2016-03-13 19:44:04 -04:00
Elizabeth F
6f26c45143
Fixed typo bug. Made error comment more explicit
2016-03-13 19:41:09 -04:00
Elizabeth F
3383486adc
Fixed typo bug. Made error comment more explicit
2016-03-13 19:39:45 -04:00
Elizabeth F
0426796d9f
Fixed typo
2016-03-13 18:14:38 -04:00
Elizabeth F
030e8dd1ac
Removed Python 2.7-style string formatting
2016-03-13 18:04:23 -04:00
Elizabeth F
4c9a52044a
Fixed CMakePackage import
2016-03-13 15:18:24 -04:00
citibeth
857f791286
Add missing import.
2016-03-13 00:40:50 -05:00
citibeth
9885f1a19e
Fix for Python 2.6
2016-03-13 00:34:46 -05:00
Elizabeth F
c1a8574d8f
Fixed for Python 2.6
2016-03-13 00:29:40 -05:00
citibeth
4236157823
(1) Added "spack spconfig" command.
...
(2) Neatened up the spconfig.py auto-generated file.
2016-03-13 00:13:00 -05:00
Elizabeth F
90bb855ffa
A new subclass StagedPackage(Package) is introduced. This PR should
...
not change the behavior for existing packages that subclass from
spack.Package.
If a package subclasses spack.StagedPackage instead of spack.Package,
the install() phase (run inside a forked process) is now separated
into sub-stages:
a) spconfig: Generate a script spconfig.py that will configure the
package (eg by running CMake or ./configure) This is for use if
the user wishes to build externally from Spack. Therefore, the
Spack compiler wrappers are NOT used here. Currently, that
means that RPATH support is up to the user.
b) configure: Configure the project (eg: runs configure, CMake,
etc). This will configure it for use within Spack, using the
Spack wrapper.
c) build: eg: "make"
d) install: eg: "install"
If one chooses to use StagedPackage instead of Package, then one must
implement each of the install sub-stages as a separate method.
StagedPackage.install() then calls each of the sub-stages as
appropriate.
StagedPackage can be configured to only run certain sub-stages. This
is done by setting the optional kwarg install_phases when calling
do_install(). Setting install_phases() ONLY has an effect on
StagedPackage, not on any existing packages. By default,
install_phases is set to make StagedPackage run the same stages that
are normally run for any package: configure, build, install (and NOT
spconfig).
The ability for Spack to run stages selectively for StagedPackage
instances will enable new functionality. For example, explicit
CMake/Autotools helpers that allow Spack to help configure a user's
project without fetching, building or installing it.
-------------
One implementation of StagedPackage is provided, CMakePackage. This
has the following advantage for CMake-based projects over using the
standard Package class:
a) By separating out the phases, it enables future new functionality
for packages that use it.
b) It provides an implementation of intall_spconfig(), which will
help users configure their CMake-based projects.
CMakePackage expects users to implement configure_args() and
configure_env(). These methods provide the package-specific arguments
and environment needed to properly configure the package. They are
placed in separated functions because they are used in both the
spconfig and configure stages.
TODO:
1. Generate spconfig.py scripts that are more readable. This allows
the users to understand how their project is configured.
2. Provide a practical way for the user to ACCESS the spconfig stage
without building the project through Spack.
3. The CMAKE_TRANSITIVE_INCLUDE_PATH stuff needs to be reworked; it
should be considered provisional for now.
4. User of Autotools might wish to make a similar ConfigurePackage
subclass of StagedPackage.
---------------
One package using CMakePackage is introduced. See ibmisc/package.py.
2016-03-11 23:30:38 -05:00
becker33
3060f27909
Merge pull request #536 from adamjstewart/fixes/doc_typos
...
Documentation typo fixes
2016-03-11 10:53:57 -08:00
Adam J. Stewart
bae03404f4
Documentation typo fixes
2016-03-11 12:51:45 -06:00
Matthew LeGendre
1c7f754e5b
Invert and rename the nobuild
option in package.yaml configs to buildable
.
2016-03-11 10:04:08 -08:00
alalazo
1d70b590fc
build_environment : fixed minor spelling errors and a few style issues
2016-03-11 13:20:57 +01:00
Todd Gamblin
f40c78a064
Merge pull request #532 from mplegendre/bugfix/ordering_satisfies
...
Fix issue with preferred satisfies not being respected
2016-03-10 21:50:40 -08:00
Matthew LeGendre
ac88cab68f
Fix issue with preferred satisfies not being respected
2016-03-10 17:00:27 -08:00
Todd Gamblin
30df1c838d
Merge pull request #531 from mplegendre/bugfix/github-530
...
Fix type error that was causing mis-ordering of compiler versions
2016-03-10 16:31:52 -08:00
Matthew LeGendre
4693af0736
Fix type error that was causing mis-ordering of compiler versions
2016-03-10 16:23:35 -08:00
Todd Gamblin
2bbf42b49d
Indentation change.
2016-03-10 16:18:11 -08:00
Todd Gamblin
670024cf77
Merge branch 'mplegendre-features/external-packages' into develop
2016-03-10 10:07:08 -08:00
alalazo
30adc4c9b8
cc : handle spaces in folders?
2016-03-10 14:59:31 +01:00
alalazo
78ef0618bc
cc : converted indents to spaces
2016-03-10 14:35:09 +01:00
Massimiliano Culpo
7ae6c62ddb
Fixed shell quoting error
2016-03-10 14:08:43 +01:00
Massimiliano Culpo
835b47c196
Merge branch 'develop' of https://github.com/LLNL/spack into fixes/intel_openmpi
2016-03-10 13:18:03 +01:00
Todd Gamblin
c4fddcc6e9
Add 'provders' back into packages.yaml schema
2016-03-10 03:15:49 -08:00
Todd Gamblin
b637f75164
Merge branch 'mplegendre-features/external-packages' into develop
2016-03-10 02:04:44 -08:00
Todd Gamblin
82b7067fdf
Refactored external packages slightly.
...
- Move `Spec.__cmp__` out of spec, into concretize as `cmp_specs`.
- `Spec.__cmp__` was never called (except explicitly) due to rich
comparison operators from `key_ordering`
- Refactor `_find_other_spec` to free function `find_spec`. Add a test
for it to make sure it works.
2016-03-10 01:29:55 -08:00
Todd Gamblin
1fe196f95c
whitespace and formatting
2016-03-10 01:29:55 -08:00
Todd Gamblin
048c406f49
Remove vestigial variants in directory name.
2016-03-10 01:29:54 -08:00
Todd Gamblin
b0572a5462
Minor tweaks to abi code.
2016-03-10 01:29:54 -08:00
Todd Gamblin
0244d794cd
remove unnecessary import
2016-03-10 01:29:54 -08:00
Todd Gamblin
b0377da771
update mirror config documentation.
...
- mirrors.yaml uses Spack's OrderedDict rather than lists.
2016-03-10 01:29:53 -08:00
Todd Gamblin
52cdcdde76
Fix #525 : sbang handles symlinks & directories properly.
2016-03-09 17:15:10 -08:00
Todd Gamblin
f56939c16c
Add unit test for sbang patching.
2016-03-09 17:13:41 -08:00
Matthew LeGendre
dd0ae255ad
Merge branch 'features/external-packages' of github.com:mplegendre/spack into features/external-packages
...
Conflicts:
lib/spack/docs/site_configuration.rst
2016-03-09 16:18:37 -08:00
Matthew LeGendre
1f06dd40f7
Update documentation for new packages.yaml config format.
2016-03-09 16:11:53 -08:00
Matthew LeGendre
a384ad5b12
Fix problem with pure integer arguments in preferred versions list (e.g, 2 instead of 2.7.3)
2016-03-09 16:11:33 -08:00
Todd Gamblin
ca10229565
Fixes #524
...
- Had attempted to add more functionality by assigning different
meanign None, True, and False values "keep_stage" (where False was
"always delete").
- Turns out that's not really worth the complexity. Having the third
"always delete" sense is hardly ever useful but makes the code hard
to understand.
2016-03-09 14:56:21 -08:00
Matthew LeGendre
87db69478d
Merge branch 'develop' into features/external-packages
...
Conflicts:
lib/spack/spack/package.py
2016-03-09 11:09:37 -08:00
Luigi Calori
bf4d51ea0b
fix error exit when doing spack patch without parameters, same as spack stage
2016-03-09 09:27:53 -08:00
Todd Gamblin
9c61843737
Fix bugs in DIYStage: fetch & context handling.
...
- DIYStage needs to be a context handler
- DIYStage.fetch needs to take 2 args.
2016-03-08 13:58:41 -08:00
Todd Gamblin
df84677d16
Make diy generate verbose build output by default.
...
- added -q option to shut it up
2016-03-08 13:57:13 -08:00
Todd Gamblin
a1be45d0e7
Fix bug with setting module-scope vars in derived package classes.
2016-03-08 13:56:44 -08:00
Todd Gamblin
a4861a3072
Minor changes/bugfixes on md5/checksum PR
2016-03-08 10:39:46 -08:00
Todd Gamblin
747855b960
Merge branch 'fixes/md5' of git://github.com/epfl-scitas/spack into epfl-scitas-fixes/md5
2016-03-08 09:12:57 -08:00
Todd Gamblin
31cebb969a
Merge pull request #504 from LLNL/bugfix/github-502
...
Bugfix/GitHub 502: Error: No spec file found at path
2016-03-08 03:43:52 -08:00
Todd Gamblin
214deeda54
Merge branch 'features/noexpand' into develop
...
Conflicts:
lib/spack/llnl/util/filesystem.py
2016-03-08 03:29:57 -08:00
Todd Gamblin
5aadb6df19
Fixes #502 . Create install prefix before build, clean up do_install.
...
- Fix bug introduced during merge of stage refactor.
- install prefix was not created before build_environment.fork()
- build_environment.fork() calls setup_dependent_environment
- python's setup_dependent_environment can inadvertently create
the install prefix before directory_layout expects it.
- Clean up Package.do_install:
- simplify control flow: parent process now entirely responsible for
creating/destroying the install prefix. cleanup is now in one place.
- Hoisting cleanup out of the child improves nesting of try/catch in
`real_work`.
- `real_work` renamed to `build_process`
2016-03-08 02:50:26 -08:00
alalazo
77ec27c730
fixed bug : similar issues in checksum and md5 as were solved in ad103dcafa
2016-03-08 11:09:41 +01:00
Todd Gamblin
96e1b2d25c
Merge pull request #486 from RemoteConnectionManager/paraview_fix
...
Paraview new version
2016-03-07 02:48:12 -08:00
Todd Gamblin
4d1703fc06
Merge branch 'features/repos-doc-fix' into develop
2016-03-07 02:40:59 -08:00
Todd Gamblin
12ddf241a5
Fix code block in docs.
2016-03-07 02:39:14 -08:00
Todd Gamblin
547933e7e4
Fix bug in -Xlinker argument handling
...
- also update test to match.
2016-03-07 01:48:26 -08:00
Todd Gamblin
f2bcc6cc35
Merge branch 'eschnett/rpath-comma' of git://github.com/eschnett/spack into eschnett-eschnett/rpath-comma
2016-03-06 23:50:14 -08:00
Erik Schnetter
265ef337a8
Don't quote -rpath literal
2016-03-06 23:27:30 -05:00
Todd Gamblin
108277fb5d
Fix docs that have gone stale since repos were added.
2016-03-06 19:32:00 -08:00
Todd Gamblin
ada675dea2
Merge branch 'features/sbang' into develop
...
Conflicts:
lib/spack/llnl/util/filesystem.py
2016-03-06 19:30:19 -08:00
Todd Gamblin
1ee90a6fe7
Make spack_cc, spack_cxx, spack_f77, spack_fc available in build env.
...
- Add for convenience for packages that need to refer to these.
- Added an example in the documentation.
2016-03-06 16:57:30 -08:00
Todd Gamblin
240ada5775
Add expand=False
option for URL downloads.
...
- Allows skipping the expand step for downloads.
- Fixed stage so that it knows expansion didn't fail when there is a
no-expand URLFetchStrategy.
- Updated docs to reflect new option, and provided an example.
2016-03-06 16:51:09 -08:00
Todd Gamblin
e515042a36
Fix stage creation bug, simplify do_install code.
2016-03-06 01:41:48 -08:00
Todd Gamblin
ad103dcafa
Small refactor: add keep parameter to stage, get rid of stage.destroy call.
...
- package.py uses context manager more effectively.
- Stage.__init__ has easier to understand method signature now.
- keep can be used to override the default behavior either to keep
the stage ALL the time or to delete the stage ALL the time.
2016-03-05 20:00:30 -08:00
Todd Gamblin
14d48eba46
Revert c5d9ee8924
for bug fixes.
...
- This reverts commit c5d9ee8924
.
- merged too soon before
- reverting and fixing bugs now.
Conflicts:
lib/spack/spack/mirror.py
lib/spack/spack/package.py
2016-03-05 18:40:28 -08:00
Todd Gamblin
097df180e2
Merge pull request #493 from adamjstewart/features/pgi
...
Modifications to get PGI working
2016-03-05 14:19:15 -08:00
Todd Gamblin
bfce2c7508
Fix bug in hook: ensure bin directory exists before listing.
2016-03-05 04:42:52 -08:00
Todd Gamblin
fc6aa7374a
Fix #104 , #54 : issues with overlong shebang in deep directories.
...
This does several things:
- Add `sbang`: a script to run scripts with long shebang lines.
- Documentation for `sbang` is in `bin/sbang`.
- Add an `sbang` hook that filters the `bin` directory after install
and modifies any scripts wtih shebangs that are too long to use
`sbang` instead.
- `sbang` is at the top level, so it should be runnable (not much we
can do if spack itself is too deep for shebang)
- `sbang`, when used as the interpreter, runs the *second* shebang
line it finds in a script.
- shoud fix issues with too long shebang paths.
2016-03-05 04:18:48 -08:00
becker33
6449e8b1b9
Merge pull request #492 from adamjstewart/typos/compiler
...
Typo fix in compiler docstring
2016-03-04 14:25:56 -08:00
Adam J. Stewart
5db9673904
Typo fix in compiler docstring
2016-03-04 10:51:41 -06:00
citibeth
202fbc6812
Rmoved periods. Should help use of cut'n'paste from console windows.
2016-03-03 23:40:29 -05:00
Adam J. Stewart
311d71ec86
Modifications to get PGI working
2016-03-03 16:50:51 -06:00
Todd Gamblin
c5d9ee8924
Revert "refactoring proposal : turn Stage into a context manager"
2016-03-03 14:41:20 -08:00
Luigi Calori
a531a4f5e3
help spack versions paraview to get versions without v
2016-03-03 18:00:50 +01:00
alalazo
db92699c02
test : fixed tests that were broken by import optimization
2016-03-03 11:05:36 +01:00
alalazo
7f4a69319a
Merge branch 'develop' of https://github.com/LLNL/spack into refactoring/stage
...
Conflicts:
lib/spack/spack/package.py
2016-03-03 10:19:45 +01:00
alalazo
5ef3621556
stage : minor syntax fix
2016-03-03 10:10:30 +01:00
Todd Gamblin
6701977f1a
Merge pull request #475 from LLNL/features/env-and-package-provenance
...
Features/env and package provenance
2016-03-03 00:42:40 -08:00
alalazo
353d12d2e6
stage : added create function as decided in #477 comments
2016-03-03 09:18:47 +01:00
alalazo
717bcb8624
test : optimized import statements
2016-03-03 09:17:49 +01:00
Gregory Becker
4f9a309de8
made spack more conservative in compiler strategies attempted
2016-03-02 16:35:02 -08:00
Gregory Becker
487b2495a1
made spack more conservative in compiler strategies attempted
2016-03-02 16:33:10 -08:00
Mario Melara
2b48728741
Changed os subclasses CNL to change attribute to MODULES
2016-03-02 16:15:34 -08:00
Mario Melara
58efe1550d
Default PATH arg
2016-03-02 16:14:42 -08:00
Gregory Becker
16d8c25b23
fixed floating 'target'
2016-03-02 16:12:32 -08:00
Gregory Becker
65d4169f00
fixed type/bug
2016-03-02 16:03:11 -08:00
Gregory Becker
ffb9574312
fixed type/bug
2016-03-02 15:59:23 -08:00
Gregory Becker
6e7b00a0f6
Made module handling much saner and safer
2016-03-02 15:54:23 -08:00
Mario Melara
b4298979fe
Merge branch 'features/newarch' of https://github.com/NERSC/spack into features/newarch
2016-03-02 14:18:19 -08:00
Gregory Becker
676591ffc0
fixed a bug and a test bug
2016-03-02 14:17:46 -08:00
Mario Melara
975cba295b
Added 'better' tests
2016-03-02 14:16:57 -08:00
Mario Melara
e46bac19fa
Changed architecture to dict
2016-03-02 12:09:02 -08:00
Mario Melara
90e90f61c1
Got rid of the compiler strategy from target
2016-03-02 12:08:43 -08:00
Mario Melara
47c8e1366f
Changed to_dictionary and from_dictionary methods
2016-03-02 12:08:17 -08:00
Gregory Becker
25f20b1967
bug hunting
2016-03-02 11:40:21 -08:00
Glenn Johnson
6bbadbfaac
Add CPATH pointing to include directories.
2016-03-02 13:18:43 -06:00
Mario Melara
340ecf6e9a
Merge branch 'features/newarch' of https://github.com/NERSC/spack into features/newarch
2016-03-02 11:07:52 -08:00
Gregory Becker
86e90bba87
another partial, narrowing in on proper arch
2016-03-02 11:05:05 -08:00
Mario Melara
81e236b2de
Changed Arch to class instead of namedtuple. Now platform is automatically set upon creation of class
2016-03-02 11:04:55 -08:00
Gregory Becker
45887dec8e
partial work on bug hunting
2016-03-02 10:56:46 -08:00
Mario Melara
f27f2f8e49
Fixed some indentation errors
2016-03-02 10:27:12 -08:00
Mario Melara
4d74784209
Changed add_architecture_from_string and split the work done into two methods add_target_from_string and add_operating_system_from_string
2016-03-02 10:27:00 -08:00
Mario Melara
527bb7abfe
Changed _cmp_key
2016-03-02 10:26:09 -08:00
Todd Gamblin
9f6ebd7c6e
Merge pull request #465 from citibeth/efischer/160229-RemoteRootBugfix
...
Bug Fix: When Spack create roots around for other versions, it someti…
2016-03-02 10:24:17 -08:00
Gregory Becker
615ea969f8
made arch instantiate as a tuple
2016-03-02 10:14:50 -08:00
Gregory Becker
4601c36f57
cleaned up concretize architecture
2016-03-02 09:55:44 -08:00
alalazo
21cd05aad5
package : updated doc
2016-03-02 17:28:21 +01:00
alalazo
ca41909ec5
package : removed do_clean()
2016-03-02 17:19:27 +01:00
alalazo
4d63544fe9
remove_link_tree : moved to llnl.util.filesystem
2016-03-02 16:55:57 +01:00
alalazo
901e4851b9
_cleanup_dead_links : factored method into a function and put it in llnl.filesystem
2016-03-02 16:19:32 +01:00
alalazo
9001b9ed3c
package : minor syntax fixes
...
mirror : extracted add_single_spec from create
2016-03-02 15:56:09 +01:00
alalazo
d649b715ed
stage : updated functions doc
...
_cleanup_dead_links : fixed minor bug
2016-03-02 13:16:04 +01:00
alalazo
65b2a24f7c
stage : removed _setup method
2016-03-02 13:03:40 +01:00
alalazo
726b350689
test : fixed failing unit tests
2016-03-02 12:52:38 +01:00
Todd Gamblin
a0c6519de9
Fixes #476 : create was broken for FTP URLs.
2016-03-02 01:47:54 -08:00
Todd Gamblin
52081c46d6
Fixes #469 : Store package.py files in the .spack directory.
...
- Adds packages in spack repos inside the .spack directory, so that
packages can be rebuilt automatically later.
2016-03-02 00:09:24 -08:00
Todd Gamblin
21d125c914
Fixes #175 : Dump environment provenance as well as build log.
2016-03-02 00:08:36 -08:00
Todd Gamblin
be306d09e9
Move repo creation code into repository.py
2016-03-02 00:04:46 -08:00
Todd Gamblin
c488f7c4d8
Fix bug in install permission setting.
2016-03-01 23:57:34 -08:00
Adam J. Stewart
a9f0b98d4d
Typo fix
2016-03-01 15:53:53 -06:00
Elizabeth F
a339ac0a72
Bug Fix: When Spack create roots around for other versions, it sometimes finds files it thinks are tarballs, but are not. Previously, it would crash if any such files are found. This change allows it to simply skip them and move on, processing the rest of the files it finds correctly.
2016-02-29 23:04:11 -05:00
Ian Lee
67f327f805
Updated links to use new llnl.gov address
2016-02-28 19:47:19 -08:00
Mario Melara
b591d2b501
Changed operating_system path
2016-02-25 18:49:52 -08:00
Mario Melara
ccd4a79b39
changed architecture.target to architecture.platform_os, so that compiler_for_spec uses operating system strategy
2016-02-25 18:49:27 -08:00
Mario Melara
eb96f38298
Got rid of debug comment
2016-02-25 18:48:25 -08:00
Mario Melara
f0149faf88
Added doc strings to functions in architecture.py
2016-02-25 18:48:00 -08:00
Mario Melara
ac55ce989d
Changed compiler finding strategy to come from operating system instead of target
2016-02-25 18:47:41 -08:00
becker33
7176e5ef07
Merge pull request #299 from epfl-scitas/enhancement/os_detection
...
enhancement proposal : boolean support for when=<arg>
2016-02-25 13:38:03 -08:00
Mario Melara
5989e3f65d
Changed from_dict to arch_from_dict method
2016-02-25 11:53:02 -08:00
Mario Melara
5e4d3e7b82
Changed naming convention of operating_system, makes it easier to create instance from dictionary just using name without the version attached. Object will stil display as name+version
2016-02-25 11:48:43 -08:00
Mario Melara
550df4cdd6
Some cleaning up. Finally got arch_from_dict working successfully.
2016-02-25 11:47:27 -08:00
Mario Melara
9ac2556285
Deleted old operating_system (without the s) file
2016-02-25 10:41:28 -08:00
Mario Melara
b43a5498a1
Changed import path to operating_systems
2016-02-25 10:36:47 -08:00
Mario Melara
f161609929
Renamed operating_system to operating_systems
2016-02-25 10:36:12 -08:00
Mario Melara
34be473b7c
Deleted files
2016-02-25 10:35:58 -08:00
Mario Melara
863a5bc4fa
Fix for 'Parent module spack.operating_systems not found while handling absolute import'
2016-02-25 10:34:55 -08:00
Mario Melara
8d1c06d141
Changed to dict method. Didn't realize this was being assigned to a dictionary already so got rid of d['architecture']
2016-02-24 15:38:33 -08:00
Mario Melara
bd7c189c12
Added more comments
2016-02-24 15:37:50 -08:00
Mario Melara
5c3c6e7f06
Got rid of print statements
2016-02-24 15:34:32 -08:00
Mario Melara
234681306c
Changed to appropriate class names for operating system
2016-02-24 15:32:23 -08:00
Mario Melara
2de81cfc62
Changed name to appropriate camelcase
2016-02-24 15:31:21 -08:00
Mario Melara
9e844d974c
Added comments. Need to figure out how to make arch_tuple from_dict
2016-02-24 15:30:20 -08:00
Mario Melara
7779974143
arch_from_dict worked on
2016-02-24 15:02:40 -08:00
Mario Melara
339f4bfd23
Added unit testing for to_dict method
2016-02-24 12:16:09 -08:00
Mario Melara
5d5d3c5858
Added to dictionary method
2016-02-24 12:15:52 -08:00
alalazo
6f42dd556d
stage : on-going refactoring
2016-02-24 17:37:58 +01:00
alalazo
5ce97eeda5
intel : polished code
2016-02-24 09:17:04 +01:00
Massimiliano Culpo
4316f1cd31
Modified wrapper to have a different behavior when modeis vcheck
2016-02-23 16:57:19 +01:00
Mario Melara
cfa7c4feb8
Added CNL10 as back_os and default_os
2016-02-22 16:18:25 -08:00
Mario Melara
083b7b46d9
Added more tests
2016-02-22 16:17:54 -08:00
Mario Melara
3c87d137a3
Added compiler strategy entry and also added new operating system subclass called CNL for compute node linux (name will probably change because I can't find docs on the EXACT name)
2016-02-22 16:17:33 -08:00
Mario Melara
ebc5e26c2d
Added compiler strategy field to Operating System class
2016-02-22 16:16:20 -08:00
Mario Melara
a385dae1ae
Unit tests to test operating system subclass creation and whether compiler strategy is set correctly
2016-02-22 14:54:30 -08:00
Mario Melara
1367ccab93
New folder that will hold operating system subclasses
2016-02-22 14:53:55 -08:00
Mario Melara
22bf4bc080
import linux distro subclass. Added method to add operating system to platform dictionary
2016-02-22 14:53:16 -08:00
Mario Melara
1a7d6ed49a
import MacOSX subclass and added add_operating_system method to use subclass
2016-02-22 14:52:52 -08:00
Mario Melara
725d6d5fce
import linux distro operating system subclass, set front-end os to LinuxDistro()
2016-02-22 14:52:09 -08:00
Mario Melara
a8de45ce28
Got rid of methods used to detect mac osx and linux osx. Now those methods are used my operating system subclasses
2016-02-22 14:50:51 -08:00
Mario Melara
18ddbae60e
Added new module path to operating system file
2016-02-22 14:49:53 -08:00
Todd Gamblin
3c1aa9a4ad
Merge pull request #298 from epfl-scitas/refactoring/resource_directive
...
refactoring proposal : composite for Stage and FetchStrategy
2016-02-18 23:13:12 -08:00
Mario Melara
28218755a5
Changed spec.target to spec.architecture
2016-02-18 13:06:55 -08:00
Todd Gamblin
d8a70166d3
Fixes #434
...
Compiler detection was not getting triggered properly with some of the
new config logic. Adjust the conditions under which Spack will serach
for compilers.
2016-02-18 00:56:29 -08:00
Todd Gamblin
c112cf66fe
Merge pull request #443 from trws/dicts-like-string-keys
...
remove the unprotected key name from create.py
2016-02-17 17:06:51 -08:00
Tom Scogland
00125e4688
remove the unprotected key name from create.py
...
Small fix to use dicts correctly.
2016-02-17 16:43:36 -08:00
Mario Melara
93a92a00ee
Changed abstract.target to abstract.architecture.target and abstract.architecture.target.concrete
2016-02-17 14:53:09 -08:00
Mario Melara
d9e8bf1807
Added ARCHITECTURE field when showing specs
2016-02-17 14:51:14 -08:00
Mario Melara
54042e399b
Changed target to architecture.target
2016-02-17 14:50:10 -08:00
Mario Melara
1d484dbe5f
Changed so that modules use correct file path with spec.architecture instead of spec.target
2016-02-17 14:49:36 -08:00
Mario Melara
ab4006ee2c
Changed so that directory layout uses the platform-os-target string version of the arch tuple
2016-02-17 14:48:53 -08:00
Mario Melara
524e9b372e
From now on all targets are now architecture. Architecture is a named tuple so any time we need access to target we do architecture.target.
2016-02-17 14:47:29 -08:00
Mario Melara
2c20fc2ebf
Changed module loading to use arch tuple instead of regular target.module
2016-02-17 14:45:53 -08:00
Mario Melara
2a79537ba1
Fixed silly typo that gave errors in tests
2016-02-17 14:44:38 -08:00
Mario Melara
a3039c4c67
Changed add_architecture_from_string, it now loops through the string and checks whether each piece of string is a valid platform, operating system and target. If the operating system or target are none it will use the defaults. Updated the documentation for that method. One thing that bothers me is how to account for the multitude of operating systems when cross compiling. If someone wants to compile with another operating system not found on current platform. How can spack check to see if it is valid?
2016-02-16 15:26:07 -08:00
Mario Melara
62b0293963
Cleaned up the file. Got rid of commented out sections of code since they weren't going to be used anyway
2016-02-16 15:23:38 -08:00
Mario Melara
31ab238306
Beginning attemps to fix concretization method to account for the new tuple architecture
2016-02-16 15:22:23 -08:00
Mario Melara
19dca4bcc9
Added some _cmp_key methods to OperatingSystem class, and also changed the way Platforms are compared. Created a mini inherited class named Arch that inherits from namedtuple. The reason for this is to override the namedtuple __str__ method to make arch tuples look prettier when printed out. Rather than Arch(platform= ... ) it prints to platform-os-target which makes directory paths to packages look cleaner.
2016-02-16 15:21:36 -08:00
Mario Melara
35a602baaf
Changed target checking to architecture checking for abi compatible
2016-02-16 15:17:57 -08:00
Erik Schnetter
9868333e8e
Shell quoting is difficult
2016-02-14 11:34:08 -05:00
Erik Schnetter
a06e29fecb
More quoting experiments
2016-02-14 10:43:55 -05:00
Erik Schnetter
43670cbbd0
More games with quoting
2016-02-13 22:01:36 -05:00
Erik Schnetter
52647b9a5d
Using regexes instead of globbing to match path names
2016-02-13 17:55:14 -05:00
Mario Melara
c799301011
Changed the method in which architecture is converted from string to namedtuple. Also added some TODO comments to later consider changing how architecture is handled
2016-02-13 14:37:07 -08:00
Mario Melara
7732f375d2
Changed operating system getter so that linux and darwin autodetected operating systems are set as class default_os
2016-02-13 14:36:01 -08:00
Erik Schnetter
69064395eb
Add debug output
2016-02-13 15:12:09 -05:00
Erik Schnetter
9a2c1090a6
Handle -Wl,-rpath,... syntax
2016-02-13 14:54:18 -05:00
Erik Schnetter
dc6a33b716
Handle multiple -Wl,-rpath,... paths
2016-02-13 14:54:18 -05:00
Erik Schnetter
5038a38e29
Correct -Xlinker arguments
2016-02-13 14:54:18 -05:00
Erik Schnetter
2cd9ad8ce6
Use "-Wl,-rpath," instead of "-Wl,-rpath="
...
The former translates to a linker argument "-rpath DIR", whereas the latter translates to "-rpath=DIR". The latter is not support on OS X.
2016-02-13 14:54:18 -05:00
Erik Schnetter
ff81aff254
Remove source-code optimization and cleanup
2016-02-12 13:05:42 -05:00
Erik Schnetter
64436e7752
Merge branch 'develop' into correct-cc
2016-02-12 12:55:26 -05:00
David Beckingsale
90e1b1f0ea
Use hash to make shorter module and dotkit names, fixes #433
2016-02-12 09:33:19 -08:00
Mario Melara
8e8c63bd67
Using pylint, fixed some of the indentation and spacing errors
2016-02-11 11:47:39 -08:00
Mario Melara
3e1be63b0f
Changed some variables to account for the fact that target is now a tuple
2016-02-11 11:15:50 -08:00
Mario Melara
b9d09202c9
changed some variables to account for the fact that target is now a tuple
2016-02-11 11:15:19 -08:00
Mario Melara
77e93e1b79
Added add_os method to platform subclasses
2016-02-10 16:16:58 -08:00
Mario Melara
cb8d5ab183
Added new add_os method
2016-02-10 16:16:35 -08:00
Mario Melara
fb234205c2
Added method to concretize target and os pair
2016-02-10 16:16:11 -08:00
Mario Melara
d0ae6dd401
Changed add_target_from_string to include methods to concretize operating_system
2016-02-10 16:15:25 -08:00
Mario Melara
2650c60374
Added operating system class prototype and some autodetect features for operating system
2016-02-10 16:14:50 -08:00
Todd Gamblin
bcf705b85e
Merge pull request #432 from RemoteConnectionManager/paraview_fix
...
Paraview fix
2016-02-10 13:59:08 -08:00
Mario Melara
21a5a34041
Revert "new branch and also pushing some architecture changes where os is detected by linux and darwin and manually set by cray and bgq"
...
This reverts commit 70088be24b2ed34076f7f5292a2a465a8655a886.
2016-02-10 10:59:16 -08:00
Luigi Calori
25e2be3efd
RPATH was collecting all lib from all dependencies, when dep tree is deep like in ParaView the path was growing too much, showing install problems now just direct dependencies rpath is added
2016-02-10 13:28:01 +01:00
Todd Gamblin
f7134990bd
Fix #430 : edit -f fails with UnknownPackageError
...
- Recent external repo refactoring made `repo_for_pkg` raise an error
when the package was not known.
- Correct behavior is to return the highest precedence repo.
2016-02-09 08:57:27 -08:00
Mario Melara
0358522533
new branch and also pushing some architecture changes where os is detected by linux and darwin and manually set by cray and bgq
2016-02-06 15:41:22 -08:00
Nicolas Richart
824546d343
correcting a bug when url and files are mixed
2016-01-28 14:43:30 +01:00
Nicolas Richart
5850d8530e
Adding the stager to checksum any url that spack can handle
2016-01-28 14:22:28 +01:00
alalazo
0cf03518f3
reverted deletion of the wrong architecture.py
2016-01-28 12:06:30 +01:00
alalazo
603f5e69ee
removed outdated code : os detection (will be handled by platforms) and openssl modifications
2016-01-28 11:30:28 +01:00
alalazo
e76b722e28
Merge branch 'develop' of https://github.com/LLNL/spack into enhancement/os_detection
2016-01-28 11:26:01 +01:00
alalazo
07bb6fef01
resource directive : now works with all the fetch strategies available
2016-01-28 10:58:56 +01:00
alalazo
47035671e8
unit tests : now compliant with 2.6
2016-01-27 17:22:12 +01:00
alalazo
f7f192e12b
Added unit tests for util.pattern
2016-01-27 17:12:24 +01:00
Gregory L. Lee
7891346a4f
fix for issue 398, added extensions_for in RepoPath
2016-01-26 09:52:01 -08:00
alalazo
ee6f69a227
Unit tests : hack to make them pass while a decision on how to proceed is made
2016-01-26 14:25:16 +01:00
alalazo
5e3b7a4247
Fixes issues introduced after merge with conflicts
2016-01-26 14:11:23 +01:00
alalazo
093b831799
Fixes issues introduced after merge with conflicts
2016-01-26 12:08:28 +01:00
alalazo
6f11a64af5
Merge branch 'develop' of https://github.com/LLNL/spack into refactoring/resource_directive
...
Conflicts:
lib/spack/spack/fetch_strategy.py
lib/spack/spack/mirror.py
lib/spack/spack/package.py
2016-01-26 08:59:25 +01:00
Matthew LeGendre
d4a771a623
Merge pull request #1 from alalazo/features/external-packages
...
doc : minor typos fixed
2016-01-25 10:53:37 -08:00
Matthew LeGendre
fa888a4ba1
Merge branch 'develop' into features/external-packages
...
Conflicts:
lib/spack/spack/cmd/mirror.py
lib/spack/spack/concretize.py
lib/spack/spack/config.py
lib/spack/spack/spec.py
lib/spack/spack/stage.py
var/spack/packages/mvapich2/package.py
2016-01-25 10:52:17 -08:00
Todd Gamblin
004c99ab2f
Fixes #259 : Apple clang compiler detection
...
- Clang compilers are now versioned with the raw LLVM version or, on
macs, with Apple's version with a suffix.
2016-01-25 03:48:22 -08:00
Adam J. Stewart
fb5274145a
Fix regex to find version on OS X
2016-01-25 03:10:13 -08:00
Todd Gamblin
41cd8f8e6d
Fixes #74 : minor fixes to spack mirror.
2016-01-25 02:57:23 -08:00
Todd Gamblin
5502fd1054
More thorough mirror test: test full round-trip
...
- Old test: did not attempt to actually fetch mirrored packages.
- New test:
1. Creates a temporary mirror,
2. Registers it with spack,
3. Fetches from it, and
4. Verifies that the fetched archive matches the original
- This test will hopefully mean that `spack mirror` is less brittle
from now on.
2016-01-25 01:59:02 -08:00
Todd Gamblin
a48d0a494f
Refactor mock_repo: add a destroy() method.
...
- classes using mock_repo need not know about its stage now.
2016-01-25 00:34:33 -08:00
Todd Gamblin
d3ff8ca00f
Fixes #382 : Issues with spack fetch.
...
- urljoin() was compliant with RFC 1808 but not with my understanding
of how paths should be joined.
- updated path joining logic to comply.
2016-01-24 20:14:40 -08:00
Todd Gamblin
fe50593c66
Minor line width reductions.
2016-01-24 20:14:21 -08:00
Todd Gamblin
be354e85c9
Better errors for mkdirp failure in mirror.
2016-01-24 16:16:43 -08:00
Todd Gamblin
64a9549225
Minor cleanup. 80 char width for command description.
2016-01-24 15:31:07 -08:00
Adam J. Stewart
571386cdf4
Remove cxx symlink, tell NAG to look for c++ symlink
2016-01-21 13:55:59 -06:00
Adam J. Stewart
ca3edc3673
Add symlink cxx to point to cc
2016-01-21 13:20:39 -06:00
Todd Gamblin
10848c2e9a
Refactor args for Executable.__call__
...
- simplify output, error, and input redirection
- `return_output=True` is now `output=str`
- `return_output=True` will still work for the time being but is
deprecated.
- previously you could say `return_output=True` and `output=<stream>`,
which wouldn't actually write to the stream. Now you actually can't
specify erroneous cases since there is only one parameter with
mutually exclusive options..
2016-01-21 10:46:33 -08:00
Todd Gamblin
1c2a2dde8e
Merge pull request #350 from adamjstewart/features/nag
...
Add NAG Fortran Compiler support
2016-01-20 17:09:31 -08:00
Adam J. Stewart
088b6f0ea9
Fixed typo when running spack help
2016-01-20 17:19:01 -06:00
Adam J. Stewart
e25150296a
Redirect STDERR to STDOUT for compiler version
...
This is necessary for the NAG Fortran compiler, which prints its version message to STDERR instead of STDOUT. This message was previously being ignored, preventing spack from finding the compiler's version or automatically adding it to the compilers.yaml configuration file.
2016-01-20 14:44:43 -06:00
Mario Melara
840b41c450
Removed unneccessary $. Still learning regexp
2016-01-20 10:36:15 -08:00
Mario Melara
15713219e5
Better regular expression searching. Tested on edison was finding test compilers and then spack was giving multiple compiler match errors
2016-01-20 10:32:56 -08:00
alalazo
72d5cdf9ab
fixed two minor typos
2016-01-20 11:19:36 +01:00
Ben Boeckel
6c9800bcc3
typos: fix some letter transposes
2016-01-19 15:22:16 -05:00
Adam J. Stewart
83de658ee4
Modify nag.py to match new compiler package structure
2016-01-19 13:28:35 -06:00
Adam J. Stewart
e6aa2610bc
Add symlink for NAG Fortran Compiler
2016-01-19 13:07:07 -06:00
Adam J. Stewart
fe640d764a
Merge branch 'develop' into features/nag
...
* develop: (77 commits)
Make libxcb compile with gcc 4.9.
disable parallel install for glib (found races)
disable cairo-trace, which is incompatible with older libiberty.h.
Fix LaunchMon on newer gcc versions.
Simplify output redirection in spack.util.executable
Allow completely empty config files.
Update cmake package to use http in all URLs.
Fix create, diy, edit, and repo commands to use multiple repos.
Add namespace option to find command.
Temporary fix: Clang is the default compiler on Mac OS X.
Netcdf requires cmake >=2.8.12
Mbedtls depends on cmake
Update libtool to 2.4.6
Update Julia to 0.4.3
Make binutils build on OS X
Add verbs and psm variants
py-matplotlib: depend on freetype
py-numpy: make blas/lapack optional dependencies
qhull: apply patch to work with libc++'s standard library
New package GNU tar
...
2016-01-19 09:56:02 -06:00
Todd Gamblin
cee7bfa9f0
Simplify output redirection in spack.util.executable
...
- By default inherit parent's input/output descriptor
- Only use pipes if we need to return output.
- Allows subprocesses (like emacsclient) to detect terminal correctly
2016-01-19 01:16:14 -08:00
Todd Gamblin
ad32f64ef6
Allow completely empty config files.
...
- Previous version would give validation error for an empty file.
Now this is properly ignored.
- Also includes bugfix in ConfigFormatError
2016-01-19 01:16:14 -08:00
Todd Gamblin
8d6342c53d
Merge branch 'mplegendre-multi_pkgsrc_roots' into develop
...
- This moves var/spack/packages to var/spack/repos/builtin/packages.
- Packages that did not exist in the source branch, or were changed in
develop, were moved into var/spack/repos/builtin/packages as part of
the integration.
Conflicts:
lib/spack/spack/test/unit_install.py
var/spack/repos/builtin/packages/clang/package.py
2016-01-19 01:16:08 -08:00
Todd Gamblin
c1e57e49ae
Merge pull request #202 from scheibelp/features/unittest-xml-output-nose
...
Features/unittest xml output nose
2016-01-17 19:14:49 -08:00
Todd Gamblin
97b492756a
Fix create, diy, edit, and repo commands to use multiple repos.
2016-01-17 18:14:35 -08:00
Todd Gamblin
5984bc2ad3
Add namespace option to find command.
2016-01-17 18:12:53 -08:00
Todd Gamblin
358b2ab4ba
Temporary fix: Clang is the default compiler on Mac OS X.
2016-01-17 18:12:08 -08:00
Gregory Becker
8e54babf10
minor parsing bug fix
2016-01-15 17:21:32 -08:00
Gregory Becker
e1a0af8745
cleanup
2016-01-15 16:51:41 -08:00
Gregory Becker
16e9d658d5
Fixed the way flags on deps are attached so that they aren't moved onto the root before normalize/concretize
2016-01-15 16:18:40 -08:00
Gregory Becker
342f4bc2e0
Fixed virtual/cflag combination bug
2016-01-15 14:27:50 -08:00
Todd Gamblin
aa00999fca
update compiler config test.
2016-01-14 12:00:56 -08:00
Todd Gamblin
d869d8e86f
add sanity check on config write as well as validation on read.
2016-01-14 12:00:44 -08:00
Todd Gamblin
b567cb57e1
Add jsonschema validation for config files.
2016-01-14 10:41:35 -08:00
Todd Gamblin
05b30bf83e
Make text wrapping off by default in tty, add a kwarg for it.
2016-01-14 10:26:31 -08:00
Adam J. Stewart
f9fbb57d31
Add NAG Fortran Compiler support
2016-01-13 12:32:04 -06:00
Gregory Becker
848728858c
Removed extra plus signs from command line syntax. Did not yet remove them from printed format
2016-01-12 18:34:26 -08:00
Gregory Becker
5e3c883f2c
Cleanup and proper flag satisfaction for partial specs
2016-01-12 16:25:54 -08:00
Gregory Becker
528f9cd583
Implemented flags as lists for subsetting
2016-01-12 15:22:15 -08:00
Gregory Becker
2ac5ea42af
Fixed concretization
2016-01-11 13:55:11 -08:00
Mario Melara
aab1a67d05
Adding needed import modules. Changed platform_name to platform to prevent syntax errors
2016-01-09 09:42:36 -08:00
Gregory Becker
9615efd940
cleanup: Removing an unnecessary line in an otherwise unchanged file
2016-01-08 18:53:19 -08:00
Gregory Becker
41046499c6
minor bug chasing
2016-01-08 18:51:38 -08:00
Gregory Becker
6e5238d037
Fixing the fix and removing debug printing
2016-01-08 17:44:16 -08:00
Gregory Becker
2b2d4bae4e
Fixing multimethod test for new platforms
2016-01-08 17:38:37 -08:00
Gregory Becker
2b4dd8b9af
Fixed target satisfaction and updated tests accordingly
2016-01-08 16:30:27 -08:00
Gregory Becker
aa28e4e81f
Improved error messages for compiler_for_spec when either zero or multiple compilers returned.
2016-01-08 15:13:48 -08:00
Gregory Becker
d3d37ad0ce
removed the submodule as part of reversion of extraneous commits
2016-01-08 14:29:42 -08:00
Gregory Becker
ba63111f45
brought the architecture test up to date with new changes
2016-01-07 13:05:58 -08:00
Gregory Becker
53d4f82ce1
Improved cray architecture class
2016-01-07 13:01:05 -08:00
Gregory Becker
83917c4c30
Improved target specification
2016-01-07 12:43:39 -08:00
Gregory Becker
6ccd9d6fa4
Cleaned up naming conventions for architecture, split into platform and target
2016-01-07 11:49:01 -08:00
Gregory Becker
b4a0004f44
Improved target cmp_key and to/from yaml functions
2016-01-06 14:50:31 -08:00
Gregory Becker
51bd91edc0
made the compiler strategy more easily controllable
2016-01-06 13:00:22 -08:00
Gregory Becker
61b03b72b0
improved concretize efficiency for determining whether compilers come from the proper strategy
2016-01-05 19:03:25 -08:00
Gregory Becker
93c9c45580
minor tweak of compiler priority while waiting for customizable compiler priorities
2016-01-05 17:19:04 -08:00
Gregory Becker
29e0ff61d7
fixed compiler finding so as not to identify non-existent versions of the intel compiler based on the version numbers of the PrgEnv-intel module
2016-01-05 17:14:35 -08:00
Gregory Becker
c649610473
fixed concretization to only consider compilers found by the proper strategy
2016-01-05 17:00:28 -08:00
Gregory Becker
d6768cf921
minor bug fix
2016-01-05 16:23:32 -08:00
Gregory Becker
48b9023de4
removed debug printing
2016-01-05 14:51:18 -08:00
Gregory Becker
751503c434
fixed haswell targeting bug
2016-01-05 14:47:14 -08:00
Gregory Becker
1edbaa4e62
removed debug printing
2016-01-05 14:13:09 -08:00
Gregory Becker
9848ad32fd
fixed errors caused by crayport on linux and added a darwin architecture
2016-01-05 13:39:53 -08:00
Gregory Becker
d2c2c46541
bug hunting
2016-01-05 11:12:14 -08:00
Gregory Becker
751208cedf
pick last compiler instead of first, will be overwritten by more advanced preferences as mentioned in the email group
2016-01-04 16:35:06 -08:00
Gregory Becker
53808f254e
Support for cray external dependencies implemented in modules
2016-01-04 12:36:48 -08:00
Gregory Becker
ff82e41404
Merge branch 'externals' into crayport
2016-01-04 10:46:25 -08:00
Todd Gamblin
b02faf5641
add/remove/list working for new config format.
...
- mirrors.yaml now uses dict order for precedence, instead of lists of
dicts.
- spack.cmd now specifies default scope for add/remove and for list
with `default_modify_scope` and `default_list_scope`.
- commands that only read or list default to all scopes (merged)
- commands that modify configs modify user scope (highest
precedence) by default
- These vars are used in setup_paraser for mirror/repo/compiler.
- Spack's argparse supports aliases now.
- added 'rm' alias for `spack [repo|compiler|mirror] remove`
2016-01-03 02:27:50 -08:00
Todd Gamblin
21fae634a5
Add Python 3 aliases to our argparse backport.
2016-01-03 01:19:03 -08:00
Todd Gamblin
56937416a9
All tests that call concretize() need to be MockPackagesTests.
2016-01-02 18:18:00 -08:00
Todd Gamblin
20b7f8a8e0
Fix bug in tests.
2016-01-02 14:25:10 -08:00
alalazo
bf4231dd4b
depends_on and when multimethod support boolean
2016-01-02 22:48:14 +01:00
alalazo
d95d169ac5
fixed broken unit tests
2016-01-02 19:04:06 +01:00
alalazo
f499f71f64
Package : factored out code in do_stage and do_fetch, changed mirror command accordingly
2016-01-02 16:15:30 +01:00
alalazo
dcddb19e5b
added class decorator to define composite classes
2016-01-01 17:35:01 +01:00
Tom Scogland
4ae98f8b21
significant llvm update
...
This update significantly reworks the llvm and clang packages. The llvm
package now includes variants allowing it to build and install any and
all of:
* clang
* lldb
* llvm's libunwind (why, WHY did they name it this?!?)
* polly (including building it directly into the clang tools, 3.7.0 only)
* clang extra tools
* compiler-rt (sanitizers)
* clang lto (the gold linker plugin that allows same to work)
* libcxx/libcxxabi
* libopenmp, also setting the default openmp runtime to same, when
parameters happen this shoudl be an option of libomp or libgomp
Ideally, this should have rpath setup like the gcc package does, but
clang's driver has no support for specs as such, and no clearly
equivalent mechanism either. If anyone has ideas on this, they would be
welcome.
One significant note related to gcc though, if you test this on LLNL
systems, or anywhere that has multiple GCCs straddling the dwarf2
boundary and sharing a libstdc++, build a gcc with spack and use that to
build clang. If you use a gcc4.8+ to build this with an older
libstdc++ it will fail on missing unwind symbols because of the
discrepancy.
Resource handling has been changed slightly to move the unpacked archive
into the target rather than use symlinks, because symlinks break certain
kinds of relative paths, and orders resource staging such that nested
resources are unpacked after outer ones.
2015-12-30 16:59:39 -08:00
Tom Scogland
fcdf08e4d7
allow nested resources
...
This solution doesn't really make me happy, but does seem to work. It
sorts the resources by the length of the string representing their
destination. Since any nested resource must contain another resource's
name in its path, it seems that should work, but there should be a
better way to do this.
2015-12-30 16:59:39 -08:00
Tom Scogland
cc8c783bb2
adding errno import for the deep directory creation patch
2015-12-30 16:59:39 -08:00
Tom Scogland
30f5ccb80d
create leading directories for resources
...
This allows resources to be placed into subdirectory trees that may not
exist in the base package, and may depend on other resources to be
staged later.
2015-12-30 16:59:39 -08:00
Todd Gamblin
e8e6368cc8
Rework mirror configuration.
...
- All of these work:
- `spack mirror add`
- `spack mirror remove`
- `spack mirror list`
- `spack mirror` subcommands (except create) now have their own
--scope argument.
- Mirror config is now stored sanely as an ordered list.
2015-12-28 01:14:41 -08:00
Todd Gamblin
1f8ba53ca7
Rework compiler configuration and simplify config.py logic.
...
- `spack compiler` subcommands now take an optional --scope argument.
- no more `remove_from_config` in `config.py` -- `update` just
overwrites b/c it's easier to just call `get_config`, modify YAML
structures directly, and then call `update`.
- Implemented `spack compiler remove`.
2015-12-28 00:46:51 -08:00
Todd Gamblin
ff0d871612
Remove mock_configs; tests no longer modify spack home directory.
2015-12-27 21:13:18 -08:00
Todd Gamblin
39e360f93a
Add custom YAML loader & dumper to track lines & maintain dict order.
...
- Configs are now parsed with `spack.util.spack_yaml.load/dump`
- Parser annotates returned data with `_start_mark` and `_end_mark`
properties, so that we can recover what lines/files they came from.
- Parser uses `OrderedDict` instead of `dict`. This will help
maintain some sanity when round-tripping config files.
2015-12-27 17:51:11 -08:00
Todd Gamblin
4e8e298eb3
Uncomment disabled tests.
2015-12-27 17:40:31 -08:00
Todd Gamblin
487ac9cd19
Merge pull request #277 from LLNL/bugfix/vcs-mirror-fetch
...
Fix #85 and #228 : errors fetching VCS packages from a mirror.
2015-12-26 09:28:38 -08:00
Todd Gamblin
bef52570ae
Default to scope with highest precedence instead of user scope,
...
- Generalizes config scopes a bit more: nothing assumes there is a
'user' scope (this would break testing sometimes).
2015-12-25 18:42:06 -08:00
Todd Gamblin
c65fd3a289
Merge branch 'develop' into mplegendre-multi_pkgsrc_roots
...
Conflicts:
lib/spack/spack/cmd/create.py
lib/spack/spack/cmd/extensions.py
lib/spack/spack/cmd/fetch.py
lib/spack/spack/cmd/uninstall.py
lib/spack/spack/config.py
lib/spack/spack/database.py
lib/spack/spack/directory_layout.py
lib/spack/spack/packages.py
lib/spack/spack/spec.py
2015-12-25 16:35:55 -08:00
Todd Gamblin
34401cf0c3
Rework Spack config: keep user & site config in memory.
...
- User and site config are now kept separately in memory.
- Merging is done on demand when client code requests the configuration.
- Allows user/site config to be updated independently of each other by commands.
- simplifies config logic (no more tracking merged files)
2015-12-25 14:00:33 -08:00
Todd Gamblin
52625de52c
Fix #154 -- better log messages for do_patch()
2015-12-24 11:37:40 -08:00
Todd Gamblin
f37f872e5f
Fix #85 and #228 : errors fetching VCS packages from a mirror.
...
- Stage and fetcher were not being set up properly when fetching using
a different fetch strategy than the default one for the package.
- This is fixed but fetch/stage/mirror logic is still too complicated
and long-term needs a rethink.
- Spack will now print a warning when fetching a checksum-less tarball
from a mirror -- users should be careful to use https or local
filesystem mirrors for this.
2015-12-23 16:23:58 -08:00
Todd Gamblin
5ca5884ad6
Fix #235 : Smarter web spidering -- use parsed links instead of reconstructing.
...
- Move `find_versions_of_archive` from spack.package to `spack.util.web`.
- `spider` funciton now just uses the link parsing it already does to
return links. We evaluate actual links found in the scraped pages
instead of trying to reconstruct them naively.
- Add `spack url-parse` command, which you can use to show how Spack
interprets the name and version in a URL.
2015-12-23 13:16:57 -08:00
Todd Gamblin
d63cb8b537
Fix bug in URL regex.
2015-12-22 17:05:23 -08:00
Todd Gamblin
0d4b77a24b
revert accidental print statements.
2015-12-22 17:02:14 -08:00
Todd Gamblin
2b89d9b1db
More consistent URL parsing when finding versions.
...
Versions found by wildcard URLs are different from versions found by
parse_version, etc. The wildcards are constructed more haphazardly
than the very specific URL patterns in url.py, so they can get things
wrong. e.g., for this URL:
https://software.lanl.gov/MeshTools/trac/attachment/wiki/WikiStart/mstk-2.25rc1.tgz
We miss the 'rc' and only return 2.25r as the version if we ONLY use
URL wildcards.
Future: Maybe use the regexes from url.py to scrape web pages, and
then compare them for similarity with the original URL, instead of
trying to make a structured wildcard URL pattern? This might yield
better results.
2015-12-22 16:59:00 -08:00
Erik Schnetter
9017ec5865
Merge branch 'develop' into correct-cc
2015-12-22 15:49:43 -05:00
Erik Schnetter
3427174eb0
Correct quoting
2015-12-22 15:49:14 -05:00
Todd Gamblin
b1d40efd99
Merge pull request #261 from LLNL/features/prefer-versions-in-packages
...
Add ability to prefer particular versions in packages.
2015-12-22 08:25:52 -08:00
Todd Gamblin
157e42de22
Merge pull request #264 from nolta/typos
...
fix a few comment typos
2015-12-22 07:56:54 -08:00
Todd Gamblin
792b033255
Slightly more robust tmp directory search.
...
- remove getcwd() check (seems arbitrary -- if users set their TMPDIR
to this why stop them?)
- try a number of common locations and try per-user directories in
them first.
2015-12-22 07:54:25 -08:00
Mike Nolta
61f07b0c4d
fix a few comment typos
2015-12-21 19:24:16 -05:00
Mike Nolta
2ba6bb21fb
fix #249 (tmp spack-stage directories conflict)
2015-12-21 18:50:58 -05:00
Todd Gamblin
fe0fdf60b4
Add ability to prefer particular versions in packages.
...
- Adding `preferred=True` to a version directive will change its sort
order in concretization.
- This provides us a rudimentary ability to keep the Spack stack
stable as new versions are added.
- Having multiple stacks will come next, but this at least allows us
to specify default versions of things instead of always taking the
newest.
2015-12-21 15:35:47 -08:00
Todd Gamblin
73ea15db8e
Merge pull request #208 from epfl-scitas/features/resource_directive
...
resource directive : implementation + clang / llvm use case
2015-12-21 10:34:16 -08:00
Erik Schnetter
611537eaed
Merge branch 'develop' into correct-cc
2015-12-21 13:18:35 -05:00
Erik Schnetter
ba22fc8b78
Simplify Spack cc script
2015-12-21 10:21:33 -05:00
Todd Gamblin
dccfcd10f7
Merge pull request #255 from LLNL/bugfix/254-libtool-compiler-name-issues
...
Fix #254 : libtool & distutils want certain compiler names.
2015-12-20 16:56:59 -08:00
Todd Gamblin
1b086c928c
Merge pull request #227 from trws/fetch-deps
...
fetch: add options to fetch missing or all deps
2015-12-19 21:02:42 -08:00
Todd Gamblin
9edba18489
Merge pull request #230 from nolta/fix-env-mod-sys-type
...
fix environment module path when $SYS_TYPE isn't defined
2015-12-19 20:59:13 -08:00
Todd Gamblin
32f96b5c73
Fix stale code in python version test so that it actually works.
2015-12-19 20:04:00 -08:00
Mike Nolta
429e15c4a6
spack python: add -c option
...
Allows passing program in as a string. Example:
$ spack python -c 'print 2+3'
5
Also imports spack module by default into the environment.
2015-12-19 16:32:17 -05:00
Gregory Lee
df5dc1c9bb
Merge pull request #253 from LLNL/bugfix/244-uninstall-errors
...
Bugfix/244 uninstall errors
2015-12-19 08:06:36 -08:00
Todd Gamblin
7cc4d88726
Fix #254 : libtool & distutils want certain compiler names.
...
This changes the compiler wrappers so that they are called by the same
name as the wrapped compiler. Many builds make assumptions about
compiler names, and we need the spack compilers to be recognizable so
that build systems will get their flags right.
This adds per-compiler subdirectories to lib/spack/spack/env directory
that contain symlinks to cc for the C, C++, F77, and F90
compilers. The build now sets CC, CXX, F77, and F90 to point to these
links instead of to the generically named cc, c++, f77, and f90
wrappers.
2015-12-19 02:06:47 -08:00
Todd Gamblin
52e3364efa
Fix #244 : errors on uninstall
...
- Extension logic didn't take conditional deps into account.
- Extension methods now check for whether the extnesion is
in the extendee map AND whether the dependency is actually present
in the spec yet.
2015-12-18 22:24:35 -08:00
Todd Gamblin
b7e926eef6
minor formatting.
2015-12-18 22:24:22 -08:00
Todd Gamblin
ce8bd20944
Fix import error.
2015-12-18 22:23:51 -08:00
Todd Gamblin
abd3d3946d
Format to 80 char width.
2015-12-18 19:23:45 -08:00
Gregory Becker
217a2d9ea5
fixed yaml error
2015-12-17 15:26:27 -08:00
Erik Schnetter
5d61888657
Correct Spack cc script
2015-12-17 10:13:39 -05:00
Gregory Lee
9cab88071b
Merge pull request #239 from LLNL/bugfix/238-db-specs-not-concrete
...
Fix #238 : Database specs need to be concrete when read in as well.
2015-12-16 11:37:51 -08:00
Mike Nolta
82aa366adf
minor comment tweak in modules.py
2015-12-16 11:43:07 -05:00
Todd Gamblin
2f9ee88408
Fix #238 : Database specs need to be concrete when read in as well.
2015-12-15 17:15:37 -08:00
Todd Gamblin
6e074a196a
Fix #206 : need to make deps AND root concrete when read in.
2015-12-14 21:06:32 -08:00
Todd Gamblin
afbd0e77d0
Make internal hash dep sort order match external one.
2015-12-11 16:47:34 -08:00
Todd Gamblin
3dd6cbc556
Fix #217 : update spec_dag test for new _cmp_key
.
2015-12-11 13:07:20 -08:00
Todd Gamblin
6ee2eb21dd
Fix #217 : Use MUCH faster hashing, reduce number of DAG copies.
...
This changes the hash algorithm so that it does much less object
allocation and copying, and so that it is correct.
The old version of `_cmp_key()` would call `sorted_deps`, which would
call `flat_dependencies` to get a list of dependencies so that it
could sort them in alphabetical order. This isn't necessary in the
`_cmp_key()`, and in fact we want more DAG structure than that to be
included in the `_cmp_key()`.
The new version constructs a tuple without copying the Spec DAG, and
the tuple contains hashes of sub-DAGs that are computed recursively
in-place. This is way faster than the previous algorithm and reduces
the numebr of copies significantly. It is also a correct DAG hash.
Example timing and copy counts for the different hashing algorithms
we've tried:
Original (wrong) Spec hash:
```
106,170 copies
real 0m5.024s
user 0m4.949s
sys 0m0.104s
```
Spec hash using YAML `dag_hash()`:
```
3,794 copies
real 0m5.024s
user 0m4.949s
sys 0m0.104s
New no-copy, no-YAML hash:
```
3,594 copies
real 0m2.543s
user 0m2.435s
sys 0m0.104s
```
So now we have a hash that is correct AND faster.
The remaining ~3k copies happen mostly during concretization, and as
all packages are initially loaded. I believe this is because Spack
currently has to load all packages to figure out virtual dependency
information; it could also be becasue there ar a lot of lookups of
partial specs in concretize. I can investigate this further.
2015-12-11 12:40:27 -08:00
Mario Melara
b5216f6ec8
Commented out cxxflag. Not 100% sure it's needed
2015-12-11 12:07:32 -08:00
Mario Melara
31df2dd9dd
Fixed targets ti be x86_64, important note: have not tested this on linux machine
2015-12-11 12:04:47 -08:00
Mario Melara
fee88d289d
Rewrote docstrings for sys_type() and got rid of unused functions
2015-12-11 12:03:13 -08:00
Todd Gamblin
7526a89463
Fix #217 : Make package cache use DAG hash instead of sorted deps.
...
- Gets rid of last vestige of old-style specs.
- Uses new hashing for lookup
2015-12-11 02:17:17 -08:00
Tom Scogland
281a869ef6
fix path resolution for mirror packages, especially with dependency fetching
2015-12-10 09:24:01 -08:00
Tom Scogland
786f4cd2c2
add dependency fetching to mirror creation
2015-12-10 08:32:51 -08:00
Tom Scogland
25f2b01a3c
fetch: add options to fetch missing or all deps
...
Small additions to fetch to make it easier to fetch all files necessary for a
build on a system without network connectivity.
2015-12-10 07:27:06 -08:00
alalazo
20e67bc5e6
clang : solve the issue with missing default include paths for OpenMP and libc++
...
resource : support for finer grained linking of resources
2015-12-09 17:15:26 +01:00
Todd Gamblin
537451f0b1
bugfix: doc build needed additional sys.path due to externals change.
2015-12-09 01:32:12 -08:00
Todd Gamblin
c41b9b7ddc
Change github.com/scalability-llnl to github.com/llnl everywhere.
2015-12-09 01:24:15 -08:00
Peter Scheibel
530e049d4a
Added nose 1.3.7 source along with with the lgpl license (renamed from lgpl.txt
...
to LICENSE)
2015-12-04 17:55:20 -08:00
Massimiliano Culpo
50bd4d2e4e
mirror : deals correctly with variants that optionally enable resources (if they are archive URLs)
2015-12-03 11:21:11 +01:00
Mario Melara
028cca16e6
Got rid of the unusued default strategy=None
2015-12-02 10:15:33 -08:00
Massimiliano Culpo
39a3cfd4d9
reource directive accepts 'basename' keyword
...
llvm : libc++ variant
2015-12-02 12:24:37 +01:00
Massimiliano Culpo
4b2168ab8e
resources : added missing check after fetch
2015-12-02 10:13:39 +01:00
Mario Melara
d7fdb8e015
Got rid of hard coded strings for adding default
2015-12-01 11:57:54 -08:00
Mario Melara
58f2b39bc8
Changed default to CPU_TARGET env var. Helps deal with target differences between cori and edison
2015-12-01 11:57:17 -08:00
Mario Melara
89fbe4fdfa
Changed add_target to include variables rather than hard-coded strings
2015-12-01 11:55:38 -08:00
Massimiliano Culpo
b85dccca92
resources : added error handling for destination keyword on resource directive
2015-12-01 15:12:26 +01:00
Massimiliano Culpo
d3d9b5401b
resources : changed name of stage folder
2015-12-01 13:26:44 +01:00
Massimiliano Culpo
a075d581ef
resource : fetch strategy constructed from kwargs instead or hardcoded URLFetchStrategy
2015-12-01 12:56:46 +01:00
Todd Gamblin
dfcf567de0
Add a cleaned up repo command.
2015-11-28 19:00:24 -08:00
Todd Gamblin
73ef06018e
Integrate namespace attribute into spec, spec DAG, spec YAML.
2015-11-28 16:26:23 -08:00
Todd Gamblin
7383bd393e
Fixed bug #42 : problem with satisfies() for virtual dependencies.
...
- _cross_provider_maps() had suffered some bit rot (map returned was
ill-formed but still worked for cases with one vdep)
- ProviderIndex.satisfies() was only checking whether the result map
was non-empty. It should check whether all common vdeps are *in*
the result map, as that indicates there is *some* way to satisfy
*all* of them. We were checking whether there was some way to
satisfy *any one* of them, which is wrong.
- Above would cause a problem when there is more than one vdep provider.
- Added test that covers this case.
- Added `constrained()` method to Spec. Analogous to `normalized()`:
`constrain():constrained() :: normalize():normalized()`
2015-11-27 23:06:18 -08:00
Todd Gamblin
763d850a0e
Add tests for importing packages directly.
...
Added test for, e.g.:
import spack.pkg.builtin.mock.mpich
import spack.pkg.builtin.mock.mpich as mpich
from spack.pkg.builtin.mock.mpich import Mpich
Among others. These ensure that direct package imports work so that
packages can be extended.
2015-11-26 14:23:12 -08:00
Todd Gamblin
89d5127900
New, cleaner package repository structure.
...
Package repositories now look like this:
top-level-dir/
repo.yaml
packages/
libelf/
package.py
mpich/
package.py
...
This leaves room at the top level for additional metadata, source,
per-repo configs, indexes, etc., and it makes it easy to see that
something is a spack repo (just look for repo.yaml and packages).
2015-11-26 14:19:27 -08:00
Massimiliano Culpo
1fe626ec7c
resource directive : sketch of implementation + clang / llvm use case
2015-11-26 17:53:33 +01:00
Peter Scheibel
fc96f62794
Updated documentation/naming in tally_plugin to reflect that the count of the
...
total number of tests run excludes skipped tests
2015-11-25 18:08:17 -08:00
Peter Scheibel
d50a18d9eb
XML output for unit tests is now enabled with an option (disabled by default)
2015-11-25 17:10:45 -08:00
Peter Scheibel
60f7756626
Executable.__call__ original semantics were to avoid redirecting process output
...
to the output stream if return_output was set. This branch undid that and this
commit restores those semantics.
2015-11-25 12:28:43 -08:00
Todd Gamblin
04f032d6e3
Rename spack.db -> spack.repo
...
Making distinction between install database and package repositories clearer.
2015-11-25 10:01:44 -08:00
Todd Gamblin
e6d232bfef
Rename packages.py to repository.py, PackageFinder to RepoPath.
2015-11-25 09:58:10 -08:00
Peter Scheibel
18dea24df8
Use the xunit nose plugin to generate JUnit XML test results from Spack's unit
...
tests.
2015-11-24 19:08:37 -08:00
Peter Scheibel
0adf93853d
Update log_output to handle cases where sys.stdout/stderr streams do not have
...
an associated file descriptor (e.g. holds for nose tests where sys.stdout is
assigned to a StringIO object)
2015-11-24 17:58:17 -08:00
Peter Scheibel
5081ba6802
It appears the same test object was returned multiple times for different
...
unit tests, so tracking tests with sets wouldn't work unless I extracted the
details relevant to the particular test. For now a simple count will work so
using a set was unnecessary anyways.
2015-11-24 10:45:07 -08:00
Peter Scheibel
70049185a5
Activation of Tally plugin to count tests. It doesn't appear to be actually
...
counting the individual unit tests correctly so I need to chase that down.
2015-11-24 10:39:42 -08:00
Peter Scheibel
099fa1df34
Use nose to run unit tests.
...
1. Adding a plugin to keep track of the total number of tests run as well as the
number of tests with failures/errors.
2. Some nose plugins (including xunit which will be added in a future commit)
assign stdout to a stream object that does not have a .fileno attribute.
spack.util.executable.Executable now avoids passing stdout to subprocess (and
always uses subprocess.PIPE)
TODO:
1. Still need to figure out how to activate the plugin (as of now it is
being ignored by nose). Newer versions of nose appear to make this simpler
(e.g. the "addplugins" argument to nose.run)
2. Need to include new version of nose in order to use xunit
2015-11-23 18:59:48 -08:00
Todd Gamblin
cf3d236b9f
Merge branch 'scheibelp-features/externaldeps' into develop
2015-11-23 17:50:49 -08:00
Todd Gamblin
1447fd0a12
Merge pull request #160 from SteVwonder/stevwonder/develop
...
Fixed -l flag for 'spack extensions'
2015-11-23 15:50:18 -08:00
Todd Gamblin
8c06b92225
Working PackageFinder / Repo
2015-11-22 20:28:59 -08:00
Tom Scogland
5e93dd6592
modified warning to reference spack clean
...
clean --dist has been removed, command fixed to something that works.
2015-11-20 11:49:46 -08:00
Mario Melara
fceb5a75b0
Adding new files to compilers
2015-11-13 11:53:38 -08:00
Mario Melara
bfd05d3d27
Changed name of file and class to craype to avoid spack freaking out about versions
2015-11-13 11:48:49 -08:00
Mario Melara
72fa3c0492
Added craype support
2015-11-13 11:48:15 -08:00
Mario Melara
9458f7c7d0
Got rid of my old method of finding in LOADEDMODULES
2015-11-13 11:47:36 -08:00
Mario Melara
a5ba69d68d
Added a _cmp_key for the architecture class
2015-11-13 11:46:13 -08:00
Todd Gamblin
38fdd063d9
Fix and move NamespaceTrie to spack.util.naming
...
- fix up routines in namespace trie.
- trie can now hold intermediate elements.
- trie now has a test case.
2015-11-12 15:17:39 -08:00
Todd Gamblin
72c9604bcb
Small fix to prevent this test from interfering with others.
2015-11-12 15:17:09 -08:00
Todd Gamblin
55662eca69
Merge branch 'develop' into mplegendre-multi_pkgsrc_roots
...
Conflicts:
lib/spack/spack/__init__.py
lib/spack/spack/directives.py
lib/spack/spack/packages.py
2015-11-12 15:16:06 -08:00
Gregory Becker
7c89f9d18c
Added the basic ouline of a cray compiler class in lib/spack/spack/compilers/cray.py
2015-11-12 14:31:41 -08:00
Gregory Becker
e78b8c16be
used key_comparator decorator from util.lang to compare targets. Fixes find bug
2015-11-12 13:27:10 -08:00
Stephen Herbein
9c30e0210b
Fixed -l flag for 'spack extensions'
2015-11-12 08:15:38 -08:00
Peter Scheibel
6d7b26d4e0
Insert lib/spack/external into sys.path. This avoids cases where the system
...
python install and lib/spack/external have the same library installed. This
requires modifying the names of some modules in lib/spack/external in cases
where both the system python and backported features of future python versions
(i.e. after 2.6) are used (previously distinguished by "from external import X"
and "import X").
2015-11-11 18:04:22 -08:00
Gregory Becker
eb2c083159
Fixed the to_dict from_dict for targets on cray. First version to build/find properly on Cray
2015-11-11 17:29:47 -08:00
Gregory Becker
185f40eb8b
fixed my git problems
2015-11-11 16:33:22 -08:00
Gregory Becker
3067705c10
made a to_dict for targets. Also a from_dict for sanity
2015-11-11 16:16:47 -08:00
Gregory Becker
8a13d344a8
bug fix in spec.py
2015-11-11 15:07:57 -08:00
Gregory Becker
271a839957
First possibly working version of the crayport. Not sufficiently tested at all.
2015-11-11 14:22:07 -08:00
Gregory Becker
95a34628a3
Add modules to compilers. Changed compiler to take paths as a list. Changed compiler_for_spec to be aware of different compiler stratigies
2015-11-11 11:32:18 -08:00
Gregory Becker
7e6fc79eb2
Merge branch 'features/spackathon' of github.com:NERSC/spack into crayport
...
Conflicts:
lib/spack/spack/compiler.py
2015-11-11 10:35:59 -08:00
Gregory Becker
5347f460b4
adding module find to find command
2015-11-11 10:31:37 -08:00
Gregory Becker
cd69681ae5
merged in work from other computer and starting to track down bugs
2015-11-11 10:09:03 -08:00
Todd Gamblin
5417a514e9
Eliminated two bugs found by spack test and rewrote the parser to be more sane
2015-11-10 18:44:01 -08:00
Gregory Becker
5e75a5c81c
Fixed bug that spack.db.exists() returned True for anonymous specs
2015-11-10 15:45:22 -08:00
Gregory Becker
6f339939c4
Removed "any-pkg-name" and replaced it with empty string. Also changed cflag concretizer to concretize each flag individually, allowing us to have unconcretized FlagMap objects for find and uninstall. Now empty flags in find match any, whereas specifying +cflags=\'\' matches only those with empty strings for flags
2015-11-10 15:45:22 -08:00
Gregory Becker
6fa0bb991a
Removed cflags from default format string and made them an option within the compiler string. Added -f option to find command; with -f, find prints flags
2015-11-10 15:45:22 -08:00
Gregory Becker
5a9394c65f
added default compilers into spec and fixed constrain/concretize bug
2015-11-10 15:45:22 -08:00
Gregory Becker
cb5bc242db
Changed flag default to "". Updated printing and other logic to match. Seems to have solved error in normalize.
2015-11-10 15:45:22 -08:00
Gregory Becker
2d77173dfa
partial commit of cflags for debugging
2015-11-10 15:45:22 -08:00
Gregory Becker
42b5b7d2dd
Commit of compiler flags addition:
...
Flags are passed from the command line all the way through
build environments to environment variables.
Flags are specified using +name=value and values are quoted
using escaped quotes when necessary.
Future work includes using the flags in the compiler wrapper script
and hopefully updating the parser for a gentler user experience of
the spec language.
2015-11-10 15:45:22 -08:00
Gregory Becker
db1b21b9aa
reclaimed the = sign. Architectures now specified by +arch= instead. Decided to prepend flag names with + for clarity in spec names and ease of parsing. Also generalized variants, although there is not yet a way to specify a generalized (name=value) variant.
2015-11-10 15:45:22 -08:00
Gregory Becker
7989a7f903
Headless specs and /hash spec specification
2015-11-10 15:42:10 -08:00
Gregory Becker
f9c8c4d216
partial commit to merge database
2015-11-10 15:40:00 -08:00
Gregory Becker
4ed22ad932
partial commit of cflags work
2015-11-10 15:39:27 -08:00
Gregory Becker
08729315c6
Added bgq architecture subclass: may require additional functionality to support
2015-11-05 09:21:56 -08:00
Todd Gamblin
0d993947ee
Fix SPACK-93, SPACK-94, GitHub #150
...
- `remove_prefix` was modified to remove from the DB, but the package
may not have been added to the DB yet when `remove_prefix` is called
from `cleanup`.
- Made `remove_prefix` a pure utility function (it just removes the prefix)
- Added `installed_db.remove()` call only after the `remove_prefix` in
`uninstall`.
2015-11-04 16:44:33 -08:00
Mario Melara
b61d554dc8
Fixed architecture.py file so it doesn't have the weird merge changes i.e <<<HEAD etc. Also added target method of recognizing it's own architecture
2015-11-04 13:28:12 -08:00
Mario Melara
2bc73b4a27
Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
2015-11-04 13:21:33 -08:00
Gregory Becker
3a73ae1683
Fixed the previous commit
2015-11-04 13:12:11 -08:00
Mario Melara
9bf8e8573c
generic linux architecture subclass
2015-11-04 13:08:48 -08:00
Mario Melara
e3a02ea5c7
Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
...
Conflicts:
lib/spack/spack/architecture.py
2015-11-04 13:06:56 -08:00
Gregory Becker
35532d6b0a
Changed cray architecture subclass to add proper targets for front at back end nodes
2015-11-04 13:00:35 -08:00
Mario Melara
37260962e5
changed some potential syntax errors and added a way for target to recognize class
2015-11-04 12:57:29 -08:00
Gregory Becker
5ac974c9b2
Enforced that the architecture subclass cannot add a target that shares a name with a target alias
2015-11-04 12:50:22 -08:00
Todd Gamblin
339da1da3d
Make architecture reflect OS *and* machine. Use Python's platform module.
2015-11-04 07:46:17 -08:00
Mario Melara
058e72d29c
Added default target and also front end and back end targets
2015-11-02 11:08:55 -08:00
Mario Melara
eb2cf1698f
Fixed some issues with naming
2015-11-02 11:08:08 -08:00
Mario Melara
9a91da9ccd
Added arch_path to list of modules path
2015-10-30 15:59:28 -07:00
Mario Melara
e39586c81d
Reverted back all architecture way of finding modules
2015-10-30 15:58:49 -07:00
Mario Melara
2d87bb92ed
Changed front-end and back-end to front_end and back_end to avoid error
2015-10-30 15:58:20 -07:00
Mario Melara
db0695e46a
architectures folder where the Architecture subclasses reside
2015-10-30 15:57:00 -07:00
Gregory Becker
6e56070386
improved aliasing in target method in architecture.py
2015-10-30 15:15:36 -07:00
Gregory Becker
d177184777
added target method to architecture.py and minor cleanup
2015-10-30 15:12:29 -07:00
Mario Melara
0a004e0fce
Merge branch 'features/spackathon' of https://github.com/NERSC/spack into features/spackathon
...
Merge Gregory Becker's commits with my own architecture commits
2015-10-30 14:53:49 -07:00
Mario Melara
7ab921ff02
Changed architecture class and added class Target
2015-10-30 14:46:26 -07:00
Gregory Becker
382d8478bf
prototype of new architecture concretization saved as new_concretize_architecture in concretize.py
2015-10-30 10:23:33 -07:00
Gregory Becker
09597fe8dc
updated the executible to return stderr when specified. Added load_module to build_environment.py, loads target
2015-10-30 09:44:28 -07:00
Massimiliano Culpo
6db2a58008
Fixed typo : write_lock() -> write_transaction()
2015-10-30 07:42:58 +01:00
Todd Gamblin
a1c42c2753
Merge Greg Becker's build database support into develop.
2015-10-29 02:22:20 -07:00
Todd Gamblin
671faa4b99
Merge pull request #124 from scheibelp/features/testinstall-cmd
...
Features/testinstall cmd
2015-10-29 00:16:52 -07:00
Todd Gamblin
ed0c80e1cb
Merge pull request #145 from markcmiller86/v-char-bugfix
...
generalize one of the cases to handle many more kinds of formatting o…
2015-10-29 00:02:01 -07:00
Todd Gamblin
fec6674597
Merge pull request #139 from mathstuf/use-uname-for-arch
...
architecture: use uname if available
2015-10-29 00:01:30 -07:00
miller86
21e9d5c5c3
generalize one of the cases to handle many more kinds of formatting options
2015-10-27 17:05:27 -07:00
Todd Gamblin
a58ae0c5d0
Build database working with simple transaction support; all tests passing.
2015-10-27 16:36:44 -07:00
Todd Gamblin
bf8479bec6
Fix stupid lock bug.
...
- Code simplification ignored case where exception was raised.
- If LockError was raised, read and write counts were incremented erroneously.
- updated lock test.
2015-10-27 16:34:26 -07:00
Peter Scheibel
50d0a2643b
Not all package stages have an archive file (e.g. source code repos) but all of
...
them do have a source_path: use this instead to check whether the package
resources were successfully retrieved.
2015-10-27 13:34:46 -07:00
Todd Gamblin
af7b96c14a
Lock acquires return True/False depending on whether they got POSIX lock.
2015-10-27 00:35:06 -07:00
Ben Boeckel
6c9b10f73d
architecture: remove custom mac_type method
2015-10-26 18:55:10 -04:00
Ben Boeckel
17a58ee0a9
architecture: use uname if available
2015-10-26 18:54:04 -04:00
Peter Scheibel
3b554c709b
Fetch errors were also terminating runs of test-install with system exit, so
...
stage.fetch() was updated to raise a FetchError instead of calling tty.die().
Output is the same for spack install in case of a fetch error.
2015-10-26 15:26:08 -07:00
Ben Boeckel
9d90cb6962
python: use the setdefault method on dict
...
It allows more concise code and skips some key lookups.
2015-10-26 17:38:19 -04:00
Peter Scheibel
9576860f8c
Making SpackError reference consistent.
2015-10-26 14:27:44 -07:00
Peter Scheibel
6a16040462
Automatically create a 'test-output' directory in the current directory if no
...
output path is specified. Test output files are placed in this directory.
Furthermore the filenames now have the prefix "test" (but otherwise are the
string representation of the spec ID as before).
2015-10-26 11:58:52 -07:00
Todd Gamblin
ead8ac58c6
Working Lock class, now uses POSIX fcntl locks, extensive unit test.
...
- llnl.util.lock now uses fcntl.lockf instead of flock
- purported to have more NFS compatibility.
- Added an extensive test case for locks.
- tests acquiring, releasing, upgrading, timeouts, shared, & exclusive cases.
2015-10-24 19:57:43 -07:00
Todd Gamblin
908a93a470
Add a multiprocess Barrier class to use for testing parallel code.
2015-10-24 19:54:52 -07:00
Peter Scheibel
cc0ee3dc29
The HTML number conversion regex operating against a byte string will only
...
convert individual bytes, so therefore incorrectly converts utf-8 encoded
characters. Decoding byte strings to unicode objects results in correct HTML
number encodings.
2015-10-23 20:56:06 -07:00
Peter Scheibel
d76c923623
1. Rename CommandError -> InstallError
...
2. InstallError now subclasses SpackError vs. StandardError (so it is now
handled by the spack shell script)
2015-10-23 16:18:06 -07:00
Peter Scheibel
ea872f8098
1. Added CommandError exception to build_environment
...
2. The parent of a failed child process in build_environment.fork no longer
calls sys.exit - instead it raises a CommandError (from [1])
3. test-install command now attempts to install all packages even if one fails
2015-10-22 17:44:16 -07:00
Peter Scheibel
246423b4b4
Generate test results (designated as skipped) for parents of failed dependencies
2015-10-22 16:00:03 -07:00
Mario Melara
38508c5a3f
Created a control flow logic that will loop through the strategies and find compilers using that. TODO: Need to find a way to locate their executables
2015-10-22 12:02:26 -07:00
Todd Gamblin
b6833f08df
Merge pull request #129 from mathstuf/separate-prefix
...
spack: split spack_root from prefix
2015-10-21 16:04:36 -04:00
Mario Melara
a89abb435f
Changed structure of class, add compiler strategy is a method and can create a dict
2015-10-21 11:32:59 -07:00
Mario Melara
9b387e7682
Added strategy method in init
2015-10-21 11:09:05 -07:00
Gregory Becker
51b69ef00b
initial fetch on crayport
2015-10-21 09:27:57 -07:00
Mario Melara
c31da9bc8f
Made sure architecture works with yaml file
2015-10-20 14:10:54 -07:00
Mario Melara
ca3cc5b23e
Refactored architecture class. Now it will automagically create a dict upon instantiation.
2015-10-20 13:37:06 -07:00
Mario Melara
3ba2842b53
Got Architecture class working the way i wanted to. Next to write tests
2015-10-20 13:33:21 -07:00
Todd Gamblin
3c788147ca
Add Spack logo.
2015-10-18 19:14:40 -07:00
Todd Gamblin
7598612b86
Better info variant output.
2015-10-17 17:34:39 -07:00
Peter Scheibel
39f0f000f8
Created unit test for core logic in test-install command.
2015-10-15 22:02:14 -07:00
Peter Scheibel
6cd976d036
Better description for test-install command
2015-10-15 20:13:08 -07:00
Peter Scheibel
49b91235bb
Minor edit for clarity (generate output for single top level spec vs. iterating
...
through collection of size 1)
2015-10-15 19:59:57 -07:00
Peter Scheibel
82ed1bc343
Originally I enforced specifying 1 top-level package with the test-install
...
command by having it consume exactly 1 positional argument (i.e. by removing
"nargs=argparse.REMAINDER") but this does not work when configuring dependencies
of a top-level package (which show up as additional positional args). Instead
now there is an explicit check to ensure there is only 1 top-level package.
2015-10-15 19:38:47 -07:00
Peter Scheibel
e451421db3
1. Specifying the output file path for test-install is now an option (vs. an
...
argument). The default path is [package id].xml in the CWD where test-install
is called from.
2. Fixed a bug with package.build_log_path (which was added in this branch).
3. keep_stage for package.do_install is now set. This allows uninstalling and
reinstalling packages without (re) downloading them.
2015-10-15 19:22:36 -07:00
Mario Melara
fec197ccac
Fixed the output of sys_type(), might need to add back the error handling part
2015-10-15 15:25:13 -07:00
Mario Melara
ccdf105759
Commented out a long list of tests to just include my arch test
2015-10-15 12:48:12 -07:00
Mario Melara
d328f4c3b6
Test suite for architecture class and functions
2015-10-15 12:47:26 -07:00
Mario Melara
29e03ac851
Added __eq__ testing method. Created tests for it in test/ folder
2015-10-15 12:46:44 -07:00
Peter Scheibel
4997f0fe57
Move logic for tracking the build log into package.py (since that is what is
...
managing the build log) and expose as package.build_log_path.
2015-10-15 12:44:02 -07:00
Peter Scheibel
c985ad7644
Update test failure output: don't include the entire build log, just lines which
...
mention errors (or if no such lines can be found, output the last 10 lines from
the log).
2015-10-15 12:23:56 -07:00
Peter Scheibel
b9bf0b942c
Use spec.traverse vs. recursive function.
...
Also even though I calculated which installs are new (e.g. vs. packages that
have already been installed by a previous command) I forgot to make use of that
in create_test_output (so I was always generating test output even if a package
had been installed before running the test-install command).
Note to avoid confusion: the 'handled' variable (removed in this commit) did not
serve the same purpose as 'newInstalls': it was originally required because the
recursive approach would visit the same dependency twice if more than one
package depended on it.
2015-10-15 11:52:08 -07:00
Peter Scheibel
f2b4341ad6
Always run with verbose output (so eliminate it as an option). Also remove other
...
commented options.
2015-10-15 10:45:03 -07:00
Peter Scheibel
11861fb8d7
Changing name of file requires changing function name to be invoked as a command
2015-10-15 10:35:42 -07:00
Peter Scheibel
e3d703b80f
Change name of file to conform to conventions.
2015-10-15 10:33:39 -07:00
Peter Scheibel
2ae7839b66
Edit function names to conform to naming conventions.
2015-10-15 10:26:13 -07:00
Peter Scheibel
0d66362cee
Only install 1 top-level package with testinstall. Otherwise if multiple
...
packages are specified and a prior one fails, it will prevent any of the others
from succeeding (and generating test output) even if they don't share
dependencies.
2015-10-15 10:17:08 -07:00
Ben Boeckel
3ce85b2270
spack: split spack_root from prefix
...
A foundation for allowing runtime configuring of the prefix.
2015-10-15 09:27:05 -04:00
Mario Melara
4f21344e87
Started created the Architecture class for Spack to use
2015-10-14 19:41:07 -07:00
Peter Scheibel
71dcf8833c
Make sure to generate output for dependencies as if they were separate tests:
...
the original intent was to generate output as if each package was a unit test,
but I noticed that I was only generating test output for top-level packages.
2015-10-13 19:02:41 -07:00
Peter Scheibel
1ce6d8b627
Add spec YAML format to test output.
2015-10-13 10:41:47 -07:00
Todd Gamblin
d16095c856
Add forgotten file from previous commit.
2015-10-13 10:35:19 -07:00
Peter Scheibel
9f56d9c807
Don't create test output for any package that was already installed.
2015-10-12 20:56:03 -07:00
Peter Scheibel
6cd22e5786
1. Added Junit XML format
...
2. Specify output to a file vs. a directory
3. Use [1] and [2] to write an XML file tracking success of package installs in
Junit XML format
2015-10-12 20:49:23 -07:00
Peter Scheibel
b7249d66b3
Adding command testinstall. See "spack testinstall -h" for documentation.
...
Still need to add output formatting (in a commonly parse-able format like Junit
or TAP). May want to adjust how the build log is accessed in case of a build
failure.
2015-10-12 19:18:31 -07:00
Todd Gamblin
2c81875019
Fix bug in colify color handling.
2015-10-12 14:44:41 -07:00
Mario Melara
b6d2a12ceb
Started changing the find in modules method written by Todd
2015-10-07 15:57:29 -07:00
Mario Melara
06fe879745
Merge branch 'features/crayproto' of https://github.com/scalability-llnl/spack into develop
2015-10-07 14:55:05 -07:00
Matthew LeGendre
fac4428766
Documentation for external packages.
2015-10-05 14:04:33 -07:00
Matthew LeGendre
18f0b24a7f
Add tests for spack external dependencies, plus fixes for issues found by those tests.
2015-10-05 11:37:36 -07:00
Matthew LeGendre
e4d2ba30b5
Fix failure in spack.test.config.ConfigTest from incorrect compiler config merging
2015-10-05 11:37:36 -07:00
Matthew LeGendre
650c9d4e36
Allow spack to build against external non-spack-installed packages.
2015-10-05 11:37:36 -07:00
Matthew LeGendre
53d70fff01
Fix type error with YAML config when merging lists from different configs.
2015-10-05 11:36:06 -07:00
Matthew LeGendre
53cde110b1
Update Spack mirror command to match docs
2015-10-05 11:36:06 -07:00
Matthew LeGendre
987cd9e78f
Update docs for YAML configuration files and preferred concretization
2015-10-05 11:36:06 -07:00
Matthew LeGendre
ee68a76a19
Bug fixes from testing spack preferred packages
2015-10-05 11:36:06 -07:00
Matthew LeGendre
8d7b7e5d5d
Use preferred package rules when concretize'ing specs
2015-10-05 11:36:06 -07:00
Matthew LeGendre
b5c597b318
Allow specs to be sorted based on preferred packages, versions, compilers, variants and dependencies.
2015-10-05 11:36:05 -07:00
Matthew LeGendre
59f89dd3be
Allow long names in format string variables
2015-10-05 11:36:05 -07:00
karenyyng
f4e72f33c8
added dependencies for py-h5py
2015-10-05 08:24:33 -07:00
Todd Gamblin
d00314c621
Protptype cray compiler detection and support
2015-10-05 01:30:25 -07:00
karenyyng
e9f7d033ff
make sure submodule is added in the correct location
2015-10-03 19:13:08 -07:00
Gregory Becker
5fda7daf57
an ordered database test
2015-09-27 17:54:24 -07:00
Todd Gamblin
8818f4ac5e
Remove enabled variants from install prefix.
...
- these make the prefix too long in many cases.
- users can figure out which install is which by querying.
2015-09-27 17:01:35 -07:00
Todd Gamblin
adbd393c39
Remove special characters (@, %, +, ~, etc) from stage name
2015-09-27 17:01:35 -07:00
Todd Gamblin
d0e22b2240
Add ref counting to database. This does not handle removal properly yet.
2015-09-18 11:40:05 -07:00
Todd Gamblin
fb73979345
Allow custom timeout for database locking.
2015-09-17 16:09:59 -07:00
Todd Gamblin
e17ad6a684
Simplify lock context managers.
2015-09-17 01:05:19 -07:00
Todd Gamblin
6dff42be09
WIP for Matt's branch
2015-09-17 00:21:33 -07:00
Todd Gamblin
ccf311c9c6
Several changes to DB implementation.
...
1. Database stores a file version, so we can add to it in the future.
2. Database indexed by hashes and not numerical indexes.
3. Specs built by database have consistent hashes and it's checked.
4. minor naming and whitespace changes.
2015-09-17 00:16:12 -07:00
Gregory Becker
cd23d2eaa2
Added spack fsck and re-read from glob if the database file does not exist. Allows older versions to smoothly upgrade to the database.
2015-09-15 14:20:19 -07:00
Gregory Becker
9c8e46dc22
Added conservative locking to the spack commands that access the database at _index
2015-09-03 09:21:19 -07:00
Gregory Becker
c3246ee8ba
Removed incorrect stage removal code from cleanup() in do_install()
2015-08-31 09:46:55 -07:00
Gregory Becker
f406fcb843
Fixed several issues from code review
...
Most importantly wrote the Lock, Read_Lock_Instance, and Write_Lock_Instance classes in lock.py
Updated the locking in database.py
TODO: Lock on larger areas
2015-08-31 09:38:38 -07:00
Todd Gamblin
c5c9ada7b0
Fix for GitHub #95
...
develop: compiler clang@unknown created for /usr/bin/clang-format
https://github.com/scalability-llnl/spack/issues/95
2015-08-27 02:04:58 -07:00
Gregory Becker
9345e78779
Fixed inaccurate comment in spec.py
2015-08-25 16:31:09 -07:00
Gregory Becker
ce8df65d7b
Eliminated unnecessary differences in pull request
2015-08-25 16:28:55 -07:00
Gregory Becker
e32c59f805
Fixed file locking. Fix is slightly ugly (lock integer added) but it gets the job done
...
It avoids having to spin simply on the OSError.
2015-08-25 15:32:45 -07:00
Gregory Becker
4a2bd1753a
Added dependency indices to database, ensuring correctly reconstructed specs from database
...
Began work on file locking, currently commented out.
2015-08-25 15:11:18 -07:00
Todd Gamblin
360b307f68
Save progress. import gov.llnl.spack.mpich works.
2015-08-24 09:14:16 -07:00
Gregory Becker
fb1874165b
Eliminated all calls that relied on finding all packages in the opt directory
...
Replaced them all with references to the database
Implemented caching in the database. The database now only re-reads data
if the database file exists and was changed since this file last wrote to it.
Added the installed_db field to the spack instance
Left the call to all_specs from testdirectory_layout.py for now.
2015-08-21 17:00:39 -07:00
Gregory Becker
55f68bb2b0
Added hashes to the database
2015-08-21 13:04:27 -07:00
Gregory Becker
1da56e5290
Added a database of installed packages.
...
No methods use the database so far.
Also, a bug fix:
Previous version did not remove the staging directory on a failed install
This led to spack refusing to uninstall dependencies of the failed install
Added to cleanup() to blow away the staging directory on failed install.
2015-08-21 11:32:12 -07:00
Todd Gamblin
a2f2e6a4ff
Save changes to external repo integration
2015-08-16 12:54:02 -07:00
Todd Gamblin
92f398a897
Better @memoized
decorator.
2015-08-16 12:50:39 -07:00
Todd Gamblin
da98b07624
Add more options to spack edit
2015-08-16 12:50:39 -07:00
Matthew LeGendre
e58ee88a63
Add 'spack packagerepo create' command
2015-08-16 12:50:39 -07:00
Matthew LeGendre
7ea328659f
Record package repo origins in .spec files
2015-08-16 12:50:39 -07:00
Matthew LeGendre
c7b8d09c7f
Add packagerepos to spack, allowing for creating multiple package repositories.
2015-08-16 12:48:32 -07:00
Todd Gamblin
6f75f5bd6a
Merge pull request #88 from trws/git_depth_attempt
...
adding a fallback on failure with git --depth
2015-08-12 23:59:13 -07:00
Todd Gamblin
1792115b4d
Use absolute paths to spack compiler wrappers in CC/CXX/F77/FC
2015-08-04 09:57:06 -07:00
Tom Scogland
9174c06598
adding a fallback on failure with git --depth
...
Certain remote protocols don't support the `--depth` option. Since this can't
be checked by URL type or in any sane way locally, this version attempts to
clone git repositories with the --depth option, and if that fails attempts the
clone again without it.
2015-07-27 14:03:04 -07:00
Todd Gamblin
27ca697b43
Add Python version test to detect {} in version strings.
...
- {} is not compatible with Python 2.6
2015-07-24 14:22:28 -07:00
Todd Gamblin
1e2f421faa
Fix Python 2.6 compatibility issue.
2015-07-23 17:01:55 -07:00
Todd Gamblin
19123b4c48
Fix ProviderIndex.update(), which didn't remove stale providers.
2015-07-16 01:41:11 -07:00
Todd Gamblin
e097696390
Update concretize to check for more changes and iterate further.
2015-07-16 01:12:11 -07:00
Todd Gamblin
9087f26537
Fix mangled error message.
2015-07-14 23:59:03 -07:00
Todd Gamblin
0d308ca30f
Fix regression of install -j.
2015-07-14 23:45:58 -07:00
Todd Gamblin
9d1f8f6bfd
Add test to check packages for Python2.6 compatibility, as well as core.
2015-07-13 18:37:48 +00:00
Florent Pruvost
5acd7cad9a
add env. var. in modules: LIBRARY_PATH and PKG_CONFIG_PATH
2015-07-02 02:12:10 -07:00
Todd Gamblin
6892d7189f
Merge branch 'features/toggle-build-output' into develop
2015-07-02 00:51:03 -07:00
Todd Gamblin
b3e34be972
Better python template for 'spack create'
2015-07-02 00:39:33 -07:00
Todd Gamblin
edfcac32c3
Fix bug in uninstall (regression in 0fc3b58
)
2015-06-20 21:46:52 -07:00
Todd Gamblin
6ed5dd7427
log_output now allows echo to be toggled wtih 'v' key
2015-06-20 20:20:28 -07:00
Todd Gamblin
cfb883646f
Fix for git pull --tags
when using git 1.7.1
...
- Added `ignore_errors` option to `Executable.__call__`
- Can avoid raising errors on *specific* error return values.
2015-06-13 17:52:00 -07:00
Tom Scogland
0b5ca25358
Fix for repos with many tags
...
Ensures all tags are ready before checkout, using `--branch` if possible and
an extra pull if that is not available. Also adds `--depth 1` to create
shallow clones if the git version is sufficient.
Fixes #64 .
2015-06-13 15:29:55 -07:00
Tom Scogland
277df08676
removing vestigial lines from a previous commit
2015-06-13 14:10:45 -07:00
Tom Scogland
d92ac2a6b2
Small ruby enhancement and tmuxinator package
...
It is currently less painful to pull the source from github, compile it into a
gem, then install the gem, than it is to download a gem and install it. This
still lacks an activation mechanism, but `spack use tmuxinator` is functional.
2015-06-11 13:51:53 -07:00
Todd Gamblin
0a92349f90
Try a little harder in concretize_version() -- concretize unsafe versions too.
...
- This can result in the user being prompted to download an unsafe
version.
- Avoids overly strict errors when something *could* be satisfiable
but we don't know about hte version.
2015-06-07 15:40:01 -07:00
Todd Gamblin
3f3ceb24c4
Add some comments b/c I didn't understand my own test.
2015-06-07 15:39:40 -07:00
Todd Gamblin
0fc3b58890
SPACK-38: Allow specs to be indexed by virtual dependencies.
...
- The following now work differently:
spec['mpi']
spec['blas']
This can return a spec for openmpi, mpich, mvapich, etc., EVEN if
the spec is already concretized. This means that in a package that
`depends_on('mpi')`, you can do `spec['mpi']` to see what it was
concretized to. This should simplify MPI and BLAS packages.
'mpi' in spec
'blas' in spec
Previously, if the spec had been concretized, these would be `False`
because there was not a dependency in the DAG with either of these
names. These will now be `True` even if the spec has been
concretized. So, e.g., this will print "YES"
s = Spec('callpath ^mpich')
if 'mpi' in spec:
print "YES"
- Similarly, this will be True:
Spec('mpich').satisfies('mpi')
- Because of the way virtual dependencies are currently implemented,
the above required some fiddling around with `package.py` so that it
would never call `Spec.__contains__` (and result in endless
recursion).
- This should be fixed by allowing virutal dependnecies to have their
own package class.
- This would allow a quicker check for vdeps, without a call to
`all_packages`.
- For the time being, `package.py` shouldn't call `__contains__`
2015-06-07 15:36:53 -07:00
Todd Gamblin
eb9859ce75
Executables now have a useful __str__ function.
2015-06-06 16:15:52 -07:00
Todd Gamblin
53feb12ea0
Cleanup and consolidate error handling
2015-06-06 15:50:01 -07:00
Todd Gamblin
5d7a6c0c46
Add FileFilter convenience class to llnl.util.filesystem.
2015-06-06 15:26:48 -07:00
Saravan Pantham
454d06c25c
Removed autosave files from previous commit.
2015-06-06 15:26:37 -07:00
Saravan Pantham
c174fe6199
Fixed BLAS and Lapack installations
2015-06-06 15:26:31 -07:00
Todd Gamblin
d19538af07
Fix #48 : Ignore hidden files when deciding how to stage.
...
- Expanding archvies like MAGMA 1.6.2 creates extra hidden files that
confuse Spack's staging mechanism.
- Added a special case to ignore hidden files when checking whether
the tarball exploded.
2015-06-01 10:25:58 -07:00
Todd Gamblin
123778dec2
Add -S/--stages option to spack cd/spack location.
...
- can now change dir to top-level stage
2015-06-01 09:56:35 -07:00
Todd Gamblin
16c2588635
Fix #46 : make(parallel=False) regression.
...
- Added some tests to make sure this stays in place.
2015-05-31 13:03:30 -07:00
Todd Gamblin
ea7b65e2f2
SPACK-69: spack install now logs build output to install directory.
...
- spack install suppresses build output by default.
- use install -v to show build output on the console too
- package.py uses log_output context to redirect output and log it to a file
- filters color codes out of output written to file
- optionally echos to the terminal
- YAML directory layout knows about its build log.
- can get path to install build log to from directory layout
- Package.install now copies the build log to $prefix/.spack/build.out
- Error message from failed install execution now includes build log location
2015-05-29 17:22:33 -07:00
Todd Gamblin
92c21d7134
debug instead of info logging in llnl.util.filesystem
2015-05-29 17:21:30 -07:00
Todd Gamblin
0035100186
SPACK-69: Add context manager to fork and log output in a with block.
2015-05-29 17:20:08 -07:00
Todd Gamblin
9b40d93fc2
Add ability to force color mode even if terminal is NOT a tty
2015-05-29 17:19:03 -07:00
Todd Gamblin
ceecd2ce41
Add ability to test whether tty verbose or debug is enabled.
2015-05-29 17:18:33 -07:00
Todd Gamblin
5676cb0dd1
Add spack find -L to show full hashes.
2015-05-28 17:13:57 -07:00
Todd Gamblin
8cbae642cc
Fix bug in spack edit -c
2015-05-28 17:13:23 -07:00
Todd Gamblin
6f8f1bf7af
Fix #34 : Spack doesn't stop when dep fails to build.
...
- Fixes regression introduced by #30
- Child process needs to exit on error
2015-05-27 20:27:48 -07:00
Todd Gamblin
c622337802
Remove redundancy: convert with closing(open(...))
to with open(...)
2015-05-18 17:11:03 -07:00
Todd Gamblin
f813d823a1
Merge branch 'features/optional-deps' into develop
...
This includes:
- Much better variant support (+debug/-debug)
- Optional dependency support (depends_on(... , when='<condition>')
- New config file format (YAML in ~/.spack)
- New Spec format (YAML in $prefix/.spack/spec.yaml)
2015-05-18 16:16:20 -07:00
Matthew LeGendre
46b91ddf57
YAML config files for compilers and mirrors
2015-05-18 16:01:21 -07:00
Todd Gamblin
09151785b3
SPACK-87: enable disabled git fetch tests.
2015-05-18 11:32:15 -07:00
Todd Gamblin
b2f46c703d
Fix SPACK-87: Tag checkout fails for older git versions.
2015-05-18 11:26:32 -07:00
Todd Gamblin
cd1ca36488
SPACK-41: More tests to ensure that constrain() reports changes.
2015-05-12 15:48:57 -07:00
Todd Gamblin
805122c789
SPACK-41: bugfix for nonconvergent normalize()
...
- constrain() wasn't reporting changes properly.
2015-05-12 14:52:46 -07:00
Todd Gamblin
095ff1cb4a
Add debug handler to print a stacktrace on Ctrl-C in debug mode.
2015-05-12 14:52:41 -07:00
Todd Gamblin
c44db0133f
Fix SPACK-41: Optional deps work with complex condition chains.
2015-05-12 11:45:48 -07:00
Todd Gamblin
cd5fa128c5
Work on SPACK-41: Optional dependencies work for simple conditions.
...
- Can depend conditionally based on variant, compiler, arch, deps, etc
- normalize() is not iterative yet: no chaining depends_ons
- really need a SAT solver, but iterative will at least handle
simple cases.
- Added "strict" option to Spec.satisfies()
- strict checks that ALL of other's constraints are met (not just
the ones self shares)
- Consider splitting these out into two methods: could_satisfy() and
satisfies()
- didn't do this yet as it would require changing code that uses
satisfies()
- Changed semantics of __contains__ to use strict satisfaction (SPACK-56)
- Added tests for optional dependencies.
- The constrain() method on Specs, compilers, versions, etc. now
returns whether the spec changed as a result of the call.
2015-05-12 09:56:59 -07:00
Todd Gamblin
ef9deeccd1
Merge branch 'features/yaml-spec' into features/optional-deps
2015-05-10 19:28:47 -07:00
Todd Gamblin
09fff39990
Merge remote-tracking branch 'origin/features/variants' into features/optional-deps
2015-05-10 18:59:56 -07:00
Todd Gamblin
13ff1a9bf6
Remove debug print in link_tree
2015-05-10 18:53:09 -07:00
Todd Gamblin
b4a26c496c
Better hash output in find.
2015-05-10 18:48:42 -07:00
Todd Gamblin
43e5465592
Fix bug in directory layout hidden files()
2015-05-10 17:56:27 -07:00
Todd Gamblin
3c49487424
Doc tweak.
...
- add LLNL release number to new RTD theme.
2015-05-10 13:11:03 -07:00
Todd Gamblin
25af6478c5
Fix SPACK-67: 'spack help stage' was broken.
...
- remove spurious mutually exclusive group from subparser.
2015-05-10 12:46:33 -07:00
Todd Gamblin
793b842f99
tests for variant concretization
2015-05-10 12:28:25 -07:00
Todd Gamblin
535c1fac87
SPACK-56: fix Variant concretization.
...
- Variant concretization is tricky:
- During concretization, a spec without variants (e.g., mpich) means
"don't care". So, Spec('mpich').satisfies('mpich+debug') is true
because it *could* still be built that way.
- After concretization, a spec without a particular variant means
"don't know", as that wasn't part of the spec, so the opposite
relationship is true. Assume 'spec' is already installed:
spec.satisfies('mpich+debug')
this is false beacuse the `debug` variant didn't exist when spec
was built, so we can't satisfy the explicit request for +debug.
2015-05-10 12:25:07 -07:00
Todd Gamblin
3b1898b8e4
Fix SPACK-40: Finish adding variant directive.
...
- Variants are now declarable in packages using the variant() directive.
- Variants are checked - you can't just ask for a random variant, it has to be declared.
- conditional logic (@when, if, '+debug' in spec, etc.) still required in package to
implement variant.
2015-05-10 12:24:03 -07:00
Todd Gamblin
c105a8d42a
Small updates to directives.
2015-05-10 12:24:03 -07:00
Todd Gamblin
1f8ce403dc
Modularize directives. Now each directive specifies its storage.
2015-05-10 12:24:03 -07:00
Todd Gamblin
0944ba120c
relations are now "directives", and code is cleaned up.
2015-05-10 12:24:03 -07:00
Todd Gamblin
5d2ee893c4
Remove TODOs for full DAG information.
...
- specs on disk now include full DAG info
- no need for normalize() kludges() anymore.
2015-05-10 11:45:12 -07:00
Todd Gamblin
29e833dfef
extensions file now in YAML format
2015-05-10 02:56:50 -07:00
Todd Gamblin
2f3b0481de
YamlDirectoryLayout now working.
2015-05-09 16:35:02 -05:00
Todd Gamblin
9412fc8083
restore some disabled git tests.
2015-05-09 16:12:04 -05:00
Todd Gamblin
8e87b2176a
Updated Sphinx RTD documentation theme supports 4 levels
2015-05-09 13:35:05 -05:00
Todd Gamblin
d6a5266976
Fix 'ç' in François's name.
2015-05-09 13:30:09 -05:00
François Bissey
3cfbc0520a
Basic support for IBM XL compilers
2015-05-07 01:54:18 -05:00
Todd Gamblin
42c88aa3ca
Merge branch 'features/diy' into develop
2015-05-07 01:53:26 -05:00
Todd Gamblin
1d0975bac6
Bugfixes for yaml specs.
2015-05-05 14:24:46 -07:00
Todd Gamblin
d687962b74
Add test for YAML specs.
2015-05-05 13:18:44 -07:00
Todd Gamblin
53e8e44a8b
Make YAML specs more human readable.
2015-05-05 13:06:41 -07:00
Todd Gamblin
278e70e533
Specs to/from YAML are working.
2015-04-29 01:47:09 -07:00
Todd Gamblin
13132c6b97
Add YAML to Spack.
2015-04-28 23:15:13 -07:00
Todd Gamblin
5c04b3c480
Fix for GitHub #30 and SPACK-70.
2015-04-14 15:11:41 -07:00
Todd Gamblin
8b14a46201
documentation updates
2015-04-14 15:11:01 -07:00
Todd Gamblin
314120212d
Complete diy command.
2015-04-08 00:22:46 -07:00
Todd Gamblin
5077a2a343
Add a DIY stage class.
2015-04-08 00:22:34 -07:00
Todd Gamblin
ab40d0b1a4
Factor edit_package function out of edit command.
2015-04-08 00:22:07 -07:00
Todd Gamblin
c4a6d04131
Start of DIY command.
2015-04-08 00:20:53 -07:00
Todd Gamblin
203fd861aa
Allow spack install -j to throttle make jobs.
2015-04-07 22:21:19 -07:00
Todd Gamblin
ad62b93df9
Merge pull request #23 from mplegendre/rpath_cleanup
...
Only convert -L<path> to -Wl,-rpath,<path> in compiler scripts if <path>...
2015-03-27 14:14:49 -07:00
Matthew LeGendre
a4cce9eb69
Only convert -L<path> to -Wl,-rpath,<path> in compiler scripts if <path> points into the spack install area
...
This specifically fixes problems with building gcc, as build and system directories were turning in in gcc library rpaths.
2015-03-27 13:58:57 -07:00
Todd Gamblin
8364f0404c
Add some options to spec command.
2015-03-24 08:40:45 -07:00
Todd Gamblin
af92250c7e
Add google analytics to docs.
2015-03-15 00:08:58 -07:00
Todd Gamblin
f97966d63a
SPACK-18: simpler build error messages
...
Suppress python stack trace on build error UNLESS in debug mode (spack -d).
Now spack shows errors with a single red arrow, and it's easier to find the actual build output.
2015-03-12 23:50:07 -07:00
Todd Gamblin
132aa690d8
Remove superfluous env scripts (avoid specifically named ones).
2015-03-12 10:39:26 -07:00
Todd Gamblin
560f2c299a
Add install_tree, force_symlink helper functions.
2015-03-12 10:32:29 -07:00
Todd Gamblin
0394adcf8d
Minor doc tweak.
2015-02-25 10:41:12 -08:00
Todd Gamblin
5eb7e46654
Spell check docs
2015-02-24 10:26:26 -08:00
Todd Gamblin
447e295947
SPACK-62: fix for site docs.
2015-02-24 02:45:21 -08:00
Todd Gamblin
daa38d2ff4
SPACK-59: Documentation updates, bugfix in fetching.
2015-02-24 02:45:07 -08:00
Todd Gamblin
049808a34f
Merge remote-tracking branch 'origin/features/SPACK-46' into develop
...
Conflicts:
lib/spack/docs/packaging_guide.rst
2015-02-23 10:46:58 -08:00
Todd Gamblin
daef78f538
Update packaging documentataion.
2015-02-23 10:31:22 -08:00
Todd Gamblin
5699cbb597
Fix SPACK-60: 0.8.15 basic docs.
2015-02-23 01:23:30 -08:00
Todd Gamblin
6dab133d9f
Same package add icon on mac and linux.
2015-02-23 01:23:30 -08:00
Todd Gamblin
d49c98188a
Add an override to colify so we can set terminal dimensions.
2015-02-23 01:23:30 -08:00
Todd Gamblin
02e316e772
Convert ValueErrors to SpackError subclass.
2015-02-18 16:45:54 -08:00
Todd Gamblin
2374eb4dca
Fix for SPACK-62
...
- deactivate -a errors if arg is not activated
- deactivate -af does not.
2015-02-18 16:45:12 -08:00
Todd Gamblin
2eda01c703
uninstall -f ignores nonexisting packages.
2015-02-18 16:21:15 -08:00
Todd Gamblin
2755171e08
Update documentation to reflect new restage/clean behavior.
2015-02-18 14:46:00 -08:00
Todd Gamblin
e67655c31a
docs autodetect version.
2015-02-18 14:33:21 -08:00
Todd Gamblin
c7b8a4e25c
Fix for SPACK-46: cleanup spack clean, spack restage.
2015-02-18 14:00:37 -08:00
Todd Gamblin
14097e39cc
Suppress download status meter when routing I/O to a file.
2015-02-18 10:59:03 -08:00
Todd Gamblin
17ac609d23
Merge branch 'features/memaxes' into develop
...
Conflicts:
var/spack/packages/libpng/package.py
2015-02-17 00:49:52 -08:00
Todd Gamblin
d800c23cec
Better activate/deactivate logic.
...
spack activate
- now activates dependency extensions
- ensures dependencies are activated in the python installation.
- -f/--force option still allows the old activate behavior.
spack deactivate
- checks for dependents before deactivating (like uninstall)
- deactivate -a/--all <extension> will deactviate a package and ALL
of its dependency extensions.
- deactivate -a/--all <extendee> activates all extensions of <extendee>
e.g.: spack deactivate -a python
- deactivate -f/--force option allows removing regardless of dependents.
- deactivate -f can be run EVEN if a package is not activated.
- allows for clenup of activations gone wrong.
2015-02-17 00:24:58 -08:00
Todd Gamblin
67db8ddca8
Factor ignore logic into a predicate builder.
2015-02-17 00:21:15 -08:00
Todd Gamblin
e6b2c27011
Factor out forking logic to build_environment.py.
2015-02-16 21:41:31 -08:00
Todd Gamblin
614c22fc1b
Allow forced deactivation -- best effort unlinking
...
spack deactivate -f will unlink even if Spack thinks the package isn't enabled.
Made deactivate routines idempotent.
2015-02-16 12:41:22 -08:00
Todd Gamblin
2f67cdaf10
Better time output on build completion.
2015-02-15 12:39:10 -08:00
Todd Gamblin
d1e03329c5
Memoize all_specs() and exists() for better performance.
...
- Real bottleneck is calling normalize() for every spec when we read it.
- Need to store graph information in spec files to avoid the need for this.
- Also, normalizing old specs isn't always possible, so we need to do this anyway.
2015-02-15 11:50:13 -08:00
Todd Gamblin
c0c0879924
Better extension activation/deactivation
2015-02-15 01:58:35 -08:00
Todd Gamblin
82dc935a50
installed_extensions_for no longer fails when nothing known about pkg
2015-02-15 01:49:50 -08:00
Todd Gamblin
0c94a6e2b0
Merge branch 'features/python-modules' into features/memaxes
...
Conflicts:
var/spack/packages/qt/package.py
2015-02-12 10:01:58 -08:00
Todd Gamblin
aae364b4c9
"spack extensions" shows total extension count.
2015-02-08 23:26:15 -08:00
Todd Gamblin
c077f05705
Move dpeendency environment setup to build_environemnt.
2015-02-08 22:01:00 -08:00
Todd Gamblin
f81b136547
import fix in cmd/clean
2015-02-08 19:43:10 -08:00
Todd Gamblin
20ec80295d
setup_extension_environment is now setup_dependent_environment.
...
- other packages, like Qt, can now use this to set up relevant build
variables and env vars for their dependencies.
- not just extensions anymore.
2015-02-08 19:41:17 -08:00
Todd Gamblin
60a385d4a4
Minor textual error in extensions command.
2015-02-08 19:40:28 -08:00
Todd Gamblin
befe72b9b9
directory_layout now raises an error when an install fails.
2015-02-08 19:36:30 -08:00
Alfredo Gimenez
a4ac1977a4
merge with python-modules
2015-02-06 16:27:33 -08:00
Todd Gamblin
3a3e4d4391
Do not automatically activate extensions on install.
2015-02-04 15:47:03 -08:00
Todd Gamblin
a9e189972a
Bugfix in spak extensions
2015-02-04 15:42:41 -08:00
Todd Gamblin
5bde8359e8
More information in extensions command.
2015-02-02 11:20:36 -08:00
Todd Gamblin
2d9190d264
Add extensions command.
2015-02-02 11:20:36 -08:00
Todd Gamblin
6b90017efa
Fixed dumb link_tree bug, added test for link tree.
2015-02-02 11:20:35 -08:00
Todd Gamblin
6400ace901
Add "spack extensions" command to list activated extensions.
2015-02-02 11:19:54 -08:00
Todd Gamblin
70c8bf44b8
Fix for install sanity check -- don't count hidden dir layout files.
2015-02-02 11:19:54 -08:00
Todd Gamblin
de91c95e8e
Ability to ignore files in activate/deactivate for extensions.
2015-02-02 11:19:54 -08:00
Todd Gamblin
ff9cb94f4f
Add arguements to extends() and activate/deactivate.
2015-02-02 11:19:54 -08:00
Todd Gamblin
2ae7f53b83
Bugfix: Extension hooks shoudl only run for extensions.
2015-02-02 11:19:54 -08:00
Todd Gamblin
89ccdf92cd
Add activate and deactivate commands for extensions.
2015-02-02 11:19:54 -08:00
Todd Gamblin
acc62abbd0
Rework do_activate/activate and do_deactivate/deactivate semantics.
...
- packages can now extend only one other package.
- do_activate() and do_deactivate() are now called on the extension,
and they automatically find the extendee
- activate() and deactivate() are still called on the extendee and are
passed the extension.
2015-02-02 11:19:53 -08:00
Todd Gamblin
d13bbeb605
Add PYTOHNPATH to modules for python extensions.
2015-02-02 11:19:53 -08:00
Todd Gamblin
bcccf02020
Add setup_extension_environment() method.
...
- lets packages do some setup before their extensions run install()
2015-02-02 11:19:53 -08:00
Todd Gamblin
82946d2914
Move symlink tree routines to LinkTree class.
2015-02-02 11:19:52 -08:00
Todd Gamblin
9977543478
Added feature: package extensions
...
- packages can be "extended" by others
- allows extension to be symlinked into extendee's prefix.
- used for python modules.
- first module: py-setuptools
2015-02-02 11:19:00 -08:00
Todd Gamblin
7215aee224
do_install() passes kwargs to dependencies.
2015-02-02 11:16:24 -08:00
Todd Gamblin
adb7d614e6
Add pre-install and pre-uninstall hooks.
2015-02-02 11:16:23 -08:00
Todd Gamblin
ebe0c1d83a
New "extends" relation adds another special list to the package class.
2015-02-02 11:16:23 -08:00
Todd Gamblin
88afad3e46
Directory layout can now track installed extensions per package.
2015-02-02 11:16:23 -08:00
Todd Gamblin
ba593ccb26
Fix bug in mirror path construction.
2015-02-02 11:15:24 -08:00
Todd Gamblin
3e37903ffd
Packages have rpath property.
2015-01-23 00:03:51 -08:00
Todd Gamblin
e6b4530234
Add is_exe function to filesystem.
2015-01-22 13:52:28 -08:00
Todd Gamblin
51ed0d3f6f
Properly set install RPATHS for cmake builds.
2015-01-19 20:59:23 -08:00
Todd Gamblin
f35b8b8db4
Better location error output.
2015-01-19 14:05:48 -08:00
Todd Gamblin
c6351b5d00
Fix #11 : bug in ProviderIndex
...
- packages that provided same spec (e.g. mpe) were overwritten in the index
- Index now has a set of providers instead of a single provider per provided spec.
- see https://github.com/scalability-llnl/spack/issues/11
2015-01-14 00:18:29 -08:00
Todd Gamblin
9db967be98
Fix bug when all deps are back edges.
...
- Happened with the graph for SAMRAI
2015-01-10 19:23:07 -08:00
Todd Gamblin
011f71a442
Fix bug in STAT graph
2015-01-10 19:09:03 -08:00
Todd Gamblin
935eba2357
Allow commands to return error codes.
2015-01-05 02:33:15 -05:00
Todd Gamblin
5d033fbd0a
Expansion works properly, simplified graph code.
2015-01-04 18:49:22 -08:00
Todd Gamblin
b4b8339d0d
bugfix for dot graphs of virtual packages.
2015-01-03 17:58:37 -08:00
Todd Gamblin
0a0291678e
Factor graph code out into its own module, rework spack graph.
2015-01-03 17:45:54 -08:00
Todd Gamblin
478af54cce
Color graph edges.
2014-12-31 14:55:35 -08:00
Todd Gamblin
dba5d020cd
Pipelining back edges works, saves more space.
2014-12-30 18:05:47 -08:00
Todd Gamblin
bb3dafa3b5
Reduce number of immediate expand/contracts.
2014-12-29 21:11:28 -08:00
Todd Gamblin
daf1e229f7
More compact graphs: do back edges before forward expansion.
2014-12-29 14:29:44 -08:00
Todd Gamblin
226de0a42d
Spec graph works without color.
2014-12-29 01:52:03 -08:00
Todd Gamblin
a6e00f6086
Fix ColorStream
2014-12-29 01:05:21 -08:00
Todd Gamblin
6ffcdc1166
Partially wroking ASCII dependency graph.
2014-12-29 00:03:35 -08:00
Todd Gamblin
860f834aad
spack graph allows plotting specific packages.
2014-12-26 13:52:49 -08:00
Todd Gamblin
d3e52d9f9a
Fix lack of sorting in version concretization.
2014-12-25 23:13:44 -08:00
Todd Gamblin
b80a0e1da5
Merge branch 'features/qt' into develop
2014-12-25 18:01:51 -08:00
Todd Gamblin
37bdbdd990
URLFetchStrategy now contains exploding tarballs.
2014-12-25 17:57:55 -08:00
Todd Gamblin
0bc861db6e
Fix up bzip2 install
2014-12-25 17:55:19 -08:00
Todd Gamblin
20388ece86
Clearer code in filter_file.
2014-12-25 16:07:39 -08:00
Todd Gamblin
7b71e6fb5a
spack env command
...
spack env allows regular commands to be run with a spack build environment.
It also displays the spack build environment for a package.
2014-12-25 16:06:30 -08:00
Todd Gamblin
b3042db755
Add patch function to Package, so that packages can define custom patch functions.
2014-12-25 16:05:45 -08:00
Todd Gamblin
852c1dc286
Print out fetch, build, and total time for builds.
2014-12-23 16:35:54 -08:00
Todd Gamblin
887c29ddc4
Merge branch 'features/better-mirror-support' into develop
2014-12-22 23:28:07 -08:00
Todd Gamblin
5cd4ddaf08
Fix for SPACK-49.
...
- name conflict in imp.load_source caused this to fail.
- Python modules loaded by imp have unique names now.
2014-12-18 21:38:25 -08:00
Todd Gamblin
08f1701e35
Allow fake installations (just make the directory).
...
- Use for debugging.
2014-12-18 15:52:45 -08:00
Todd Gamblin
f1c5e64c23
Partial fix for SPACK-48.
...
- Try to accommodate packages that have grown dependencies better.
- This will only get fully fixed when optional dependencies are supported
and some extra functionality is added to the spec syntax.
2014-12-15 14:46:34 -08:00
Todd Gamblin
722e73f309
Better mirror path calculation.
...
- Add support in spack.url for extrapolating actual file type for URL
- Move mirror path computation to mirror.py from package.py
2014-12-12 14:53:55 -08:00
Todd Gamblin
2f90068661
Handle cases where tarball is in the URL query string.
2014-12-12 14:48:59 -08:00
Todd Gamblin
e309b41972
Add support for URLs with query strings
...
- support tarballs from raw github URLs
2014-12-09 01:07:48 -08:00
Todd Gamblin
c3fce7b77f
Bugfix in create and checksum
2014-12-08 22:49:49 -08:00
Todd Gamblin
ba53ccb6b3
Minor tweak: use self.git everywhere in get fetch strategy.
2014-12-04 10:51:23 -08:00
Todd Gamblin
c774455fc5
Bugfix in create command.
2014-12-04 10:47:01 -08:00
Todd Gamblin
652b761894
Merge branch 'features/better-find' into develop
2014-12-02 22:55:11 -08:00
Todd Gamblin
fdc6081244
CLI improvements to find and list.
2014-12-02 22:53:11 -08:00
Todd Gamblin
11cffff943
colify handles ansi color input directly; no more decorator.
2014-12-02 22:32:15 -08:00
Todd Gamblin
e71cf672f1
Fail fast in stage if all fetch strategies fail for a package.
2014-12-02 09:58:30 -08:00
Todd Gamblin
40b4fa5443
Better spack find view.
2014-12-01 23:14:06 -08:00
Todd Gamblin
e15316e825
index_by supports compound index keys.
2014-12-01 23:13:09 -08:00
Todd Gamblin
72c753b93e
Colify now supports fixing the number of columns.
2014-12-01 21:29:01 -08:00
Todd Gamblin
22e4d11010
Cleanup code in colify.
2014-11-23 16:19:26 -08:00
Todd Gamblin
287b04e50a
Bugfix in terminal_size()
2014-11-23 17:55:37 -06:00
Todd Gamblin
d2fe038caf
Minor bugfix for 404 error on fetch.
2014-11-17 15:03:48 -08:00
Todd Gamblin
321a3a55c7
Prompt the user about checksums only if interactive.
2014-11-16 15:26:00 -08:00
Todd Gamblin
eba13b8653
Checksum warning now prompts for override.
2014-11-08 23:20:01 -08:00
Todd Gamblin
79414947ae
Merge branch 'features/gcc' into develop
...
Conflicts:
lib/spack/spack/package.py
2014-11-08 22:30:46 -08:00
Todd Gamblin
0d044cdc1b
Shorter help strings.
2014-11-08 22:18:20 -08:00
Todd Gamblin
1a424c124c
Python 2.6 fix for Mac OS
2014-11-08 22:18:08 -08:00
Todd Gamblin
1da5d12bdd
'spack urls' debugging command, more consistent URL extrapolation.
...
- spack urls inspects all URLs in packages, prints out colors to show how they are parased.
- URL extrapolation test added.
- Extrapolation is more consistent now.
- Extrapolation handles more complex URLs.
- More test cases for extrapolation.
2014-11-08 22:08:15 -08:00
Todd Gamblin
57076f6ca4
URL parsing improvements
2014-11-08 11:42:54 -08:00
Todd Gamblin
55bf243f16
Improved website scraping.
2014-11-07 00:17:25 -08:00
Todd Gamblin
3112096651
Merge branch 'hotfix/vcs-not-required' into develop
2014-11-06 13:41:54 -08:00
Todd Gamblin
fa21acc470
Fix inadvertent requirement of hg, svn, git, etc.
2014-11-06 13:22:15 -08:00
Todd Gamblin
193eddda5e
Fix for missing format_doc in package-list command.
2014-11-06 11:46:43 -08:00
Todd Gamblin
b97ee67a4b
Working GCC package.
2014-11-05 09:54:43 -08:00
Todd Gamblin
488a6737b7
Merge branch 'features/python' into develop
2014-11-03 14:20:37 -08:00
Todd Gamblin
0f3b80cddb
Fix for SPACK-11: Spack compiler wrapper is now in bash.
...
- Startup is much faster
- Added test for compiler wrapper parsing.
- Removed old compilation module that had to be imported by old cc.
- Removed cc from python version checks now that it's bash.
2014-11-03 14:12:16 -08:00
Todd Gamblin
1656f62a12
Add bzip2 package and spack pkg add command.
2014-11-03 14:12:16 -08:00
Todd Gamblin
8f9de17869
"spack info -r" is now "spack package-list"
...
- too much going on in this command, and it made subcommand parsing weird.
- information printed is the same but info and package-list are really different commands.
2014-11-01 16:03:09 -07:00
Todd Gamblin
a5859b0b05
Add ability to get subparser by name from argparse
2014-11-01 15:59:29 -07:00
Todd Gamblin
3db22a4e33
Sane self.url for packages (reflects current version)
2014-11-01 15:01:01 -07:00
Todd Gamblin
85a14b68b7
spack compiler add checks for access before listing directories.
2014-10-31 10:30:58 -07:00
Todd Gamblin
f60fd330cb
Better error messages for extension()
2014-10-30 15:00:02 -07:00
Todd Gamblin
ee528bc426
Docs for spack list with glob.
2014-10-27 22:40:04 -07:00
Todd Gamblin
75e6e794fb
Fix bug with extension() for sourceforge URLs.
2014-10-27 21:32:31 -07:00
Todd Gamblin
d542b7b003
Merge branch 'features/new-docs' into develop
2014-10-27 20:44:00 -07:00
Todd Gamblin
1c4948e1b0
Fix long-standing multimethod test error.
...
- New inclusive version ranges from git-fetching branch enable a fix.
- Can now write :1 to include 1.3, 1.4, etc.
- couldn't do this before so provides() was weird.
2014-10-27 20:02:24 -07:00
Todd Gamblin
d98beeec31
Remove ambiguous test case in url_extrapolate.
2014-10-27 19:59:19 -07:00
Todd Gamblin
4d8a47800a
Add docs on spack module refresh.
2014-10-27 19:53:56 -07:00
Todd Gamblin
4ecc7e1c93
Document file filtering functions.
2014-10-27 19:53:55 -07:00
Todd Gamblin
4bf6930416
Docs for modules & dotkits.
2014-10-27 19:53:55 -07:00
Todd Gamblin
e2af2a27bf
Merge branch 'features/git-fetching' into develop
...
Conflicts:
lib/spack/docs/packaging_guide.rst
lib/spack/spack/cmd/info.py
lib/spack/spack/package.py
lib/spack/spack/stage.py
2014-10-27 19:53:05 -07:00
Todd Gamblin
d41d6ed863
Updated packaging docs.
2014-10-27 00:55:38 -07:00
Todd Gamblin
525344aa85
Make info command show VCS URLs properly.
2014-10-27 00:55:25 -07:00
Todd Gamblin
2e2e720a2a
Add spack md5 command for simple checksumming.
2014-10-25 14:40:17 -07:00
Todd Gamblin
fa4d58db52
Add a dummy depends_on to the boilerplate.
2014-10-25 14:38:42 -07:00
Todd Gamblin
94a52a8710
Start documenting new features.
2014-10-23 20:15:11 -07:00
Todd Gamblin
87b87199f2
Fix for SPACK-43: compiler finding fails gracefully on unknown error.
2014-10-22 01:08:08 -07:00
Todd Gamblin
e4c2891d4b
Test for URL extrapolation.
2014-10-22 00:49:16 -07:00
Todd Gamblin
0c4b8d45df
Consolidate archive_file() implementation into Stage.
2014-10-16 08:50:57 -07:00
Todd Gamblin
fb3003f664
Bug fixes for URLs and mirror fetching.
2014-10-16 06:56:00 -07:00
Todd Gamblin
6fdfd83e6b
Add test cases for mirroring.
2014-10-15 21:07:41 -04:00
Todd Gamblin
8e3c2d8a26
Refactor fetch tests to use common mock repo module.
2014-10-15 07:40:01 -07:00
Todd Gamblin
fbd7e96680
Add a mirror module that handles new fetch strategies.
...
- Uses new fetchers to get source
- Add archive() method to fetch strategies to support this.
- Updated mirror command to use new mirror module
2014-10-14 23:26:43 -07:00
Todd Gamblin
8fd4d32408
Use external argparse in spack list, for 2.6 compatibility.
2014-10-10 09:45:48 -07:00
Todd Gamblin
dd2cea4107
Add available versions to generated package list documentation.
2014-10-08 14:08:11 -07:00
Todd Gamblin
36a87f5bf9
Update documentation to add an auto-generated list of packages.
2014-10-08 03:08:40 -07:00
Todd Gamblin
319b37af0e
Add spack edit -c option to edit commands.
2014-10-08 03:08:40 -07:00
Todd Gamblin
ff546358f3
Update docs to use new version format.
2014-10-08 03:08:40 -07:00
Todd Gamblin
ee23cc2527
Add archive creation capability to fetch strategies.
...
- fetch strategy needs to know how to create archive of fetched repo
- allows mirrors to be created from git/other VCS fetches.
2014-10-07 23:26:39 -07:00
Todd Gamblin
e8d131ef96
Minor bugfix in exception constructor.
2014-10-07 23:23:18 -07:00
Todd Gamblin
1801a85966
Move tty output commands out of package and into clean command.
2014-10-07 23:22:58 -07:00
Todd Gamblin
4bde771970
Fix for SPACK-39: Concretization was too restrictive.
...
- concretize_version() now Use satisfies(), not intersection.
- version class updated with better intersection/union commands
- version now 1.6 "contains" 1.6.5
- added test for new version functionality
- remove none_high and none_low classes
- version module is now self-contained; save for external 2.7
functools.total_ordering for 2.6 compatibility.
2014-10-07 23:22:45 -07:00
Todd Gamblin
1c60b3967d
Add simple fnmatch filtering to spack list.
2014-10-06 14:11:19 -07:00
Todd Gamblin
37e96ff6e1
Added test for Mercurial fetching.
2014-10-04 18:38:47 -07:00
Todd Gamblin
0fa1c5b0a5
Add Mercurial fetch strategy and lwm2.
2014-10-03 16:57:32 -07:00
Todd Gamblin
727d313c30
Fix location.py to use source_path
2014-10-03 16:57:32 -07:00
Todd Gamblin
faae720c36
add tests for svn fetching.
2014-10-03 16:55:53 -07:00
Todd Gamblin
da84764e97
Add test case for git fetching.
2014-10-03 16:55:53 -07:00
Todd Gamblin
c74cd63389
Callpath build works when a tag is fetched from git.
2014-10-03 16:55:53 -07:00
Todd Gamblin
0cc79e0564
Implement per-version attributes for flexible fetch policies.
...
- Tests pass with URL fetching and new scheme.
- Lots of refactoring
- Infrastructure is there for arbitrary fetch policies and more attribtues on the version() call.
- Mirrors do not currently work properly, and they get in the way of a proper git fetch
2014-10-03 16:55:13 -07:00
Todd Gamblin
52d140c337
Factor out URL fetching into URLFetchStrategy
...
- Added FetchStrategy class to Spack
- Isolated pieces that need to be separate from Stage for git/svn/http
- Added URLFetchStrategy for curl-based fetching.
2014-10-03 16:53:13 -07:00
Todd Gamblin
720ced4c2e
Add test for URL version substitution.
2014-09-30 00:09:11 -07:00
Todd Gamblin
13eca0357f
Bugfix for version substitution.
2014-09-29 23:30:48 -07:00
Todd Gamblin
921a5b5bcc
Make fetch fail on 404.
2014-09-29 23:28:16 -07:00
Todd Gamblin
26495ddce9
Reverse sort output versions in spack checksum
2014-09-29 23:27:40 -07:00
Todd Gamblin
e4613a60cf
Fix for spack cd -i.
2014-09-29 22:43:40 -07:00
Todd Gamblin
a8ed1ec414
Minor argparse improvement.
2014-09-29 20:00:00 -07:00
Todd Gamblin
3bd52678be
MPICH sets MPI compilers to use real compilers and not spack wrappers.
2014-09-27 21:36:42 -07:00
Todd Gamblin
5cc508393a
gfortran version detection brokenon debian.
2014-09-27 16:19:56 -07:00
Todd Gamblin
d7984c7540
Update checksum to print new version syntax.
2014-09-27 15:33:27 -07:00
Todd Gamblin
608191bd8c
Find custom list_urls depending on the archive URL (e.g. github releases)
2014-09-27 15:32:44 -07:00
Todd Gamblin
2de2d4bea7
Modify MPI installs to work without fortran.
2014-09-23 14:59:30 -07:00
Todd Gamblin
7380de8ee3
Change git URL to https URL in all docs.
2014-09-19 09:55:13 -07:00
Todd Gamblin
39acca4b43
Fix for bug in create introduced by LLVM merge.
2014-09-19 09:42:07 -07:00
Todd Gamblin
fa5594e13f
Merge branch 'features/llvm' into develop
...
- merging parts of LLVM that can be built now.
- need to wait for standalone builds for some of the others.
2014-09-18 23:30:32 -07:00
Todd Gamblin
9165a000a3
Better C++11 support, remove non-standalone llvm-compiler-rt.
...
- LLVM non-standalone add-ons are difficult to build outside LLVM.
- May have to wait for future versions of LLVM to build some of these
2014-09-18 23:22:03 -07:00
Todd Gamblin
4a19fa793e
Support for pkg-config.
2014-09-18 01:42:01 -07:00
Todd Gamblin
68274ee657
Add command to show packages added in particular git revisions.
...
spack pkg list [rev] list packages for revision.
spack pkg diff [rev1] [rev2] diff bt/w packages in rev1 and rev2
spack pkg added [rev1] [rev2] pkgs added since rev1
spack pkg removed [rev1] [rev2] pkgs removed since rev2
2014-09-17 15:48:13 -07:00
Todd Gamblin
881fdb66ae
Merge branch 'develop' into features/fileutils
...
Conflicts:
lib/spack/spack/packages.py
2014-09-16 23:53:44 -07:00
Todd Gamblin
a4c8e945c7
Some fixups for Adam's callpath and adept-utils packages.
...
- Make spack packages RPATH *ALL* dependencies (i.e. the whole tree)
- prevents callpath link from finding wrong libelf -- always uses the one dyninst used.
2014-09-16 21:59:46 -07:00
David Beckingsale
42ca6c8bfc
Add dependency prefixes to CMAKE_PREFIX_PATH
2014-08-22 14:45:44 -07:00
Todd Gamblin
d87a652582
Add spack cd and spack location commands.
...
- Better shell support for cd'ing into directories
- Fix some csh weirdness with nested aliases.
2014-08-22 11:00:19 -07:00
Todd Gamblin
eb5efed421
Merge branch 'features/postgresql' into develop
...
- add spack cd command.
- Fix bug in modules hook
Conflicts:
lib/spack/spack/cmd/stage.py
lib/spack/spack/hooks/dotkit.py
share/spack/setup-env.bash
2014-08-21 22:59:39 -07:00
Todd Gamblin
5a9ef130ea
Make EnvModule class use spec instead of package, fix using module of non-present package.
...
- Using the spec doesn't require the package to be there.
- Restore ability to use non-present packages (which was broken)
2014-08-20 11:43:03 -07:00
Todd Gamblin
8cc2298181
Merge branch 'features/python-2.6-compatibility' into develop
...
- Changed 'import argparse' to 'from external import argparse' in conflicts.
Conflicts:
lib/spack/spack/cmd/dotkit.py
lib/spack/spack/cmd/unuse.py
lib/spack/spack/cmd/use.py
2014-08-20 09:30:40 -07:00
George Todd Gamblin
42e27d04c1
Merge pull request #19 in SCALE/spack from features/modules to develop
...
# By Todd Gamblin (4) and David Beckingsale (2)
# Via Todd Gamblin
* commit 'b601fd08caf21b5fc11e6998a5ebd20a04ac57ad':
Bugfixes for csh environment modules.
Bugfixes, more consolidation of modules code.
Add csh/tcsh support for modules
Consolidate most module code into spack.modules and spack.cmd.module
Fixed up module support
Added inital module support
2014-08-18 23:11:02 -07:00
Todd Gamblin
b601fd08ca
Bugfixes for csh environment modules.
2014-08-17 01:41:32 -07:00
Todd Gamblin
22bec329c1
Bugfixes, more consolidation of modules code.
...
- specific module classes use __metaclass__ to register themselves.
- bugfixes in module writing.
2014-08-16 22:22:53 -07:00
Todd Gamblin
776560f8ce
Add csh/tcsh support for modules
...
- csh scripting is a GIANT pain in the ass
- hopefully the thin script layer doesn't get much more complex.
2014-08-16 14:58:15 -07:00
Todd Gamblin
221cf6acb9
Consolidate most module code into spack.modules and spack.cmd.module
...
- One file with all the module classes (spack/modules.py)
- Has an EnvModule superclass that does most of the work and consolidates common code
- Subclasses have specializations for different module systems (TclModule, Dotkit)
- One command (spack module) for all the types of modules to use
- the one command is used by the scripts, only need to maintain in one place
- has some subcommands for different module types, but they're handled mostly generically.
- Consolidate zsh support into a single setup-env.sh script.
2014-08-16 14:53:57 -07:00
Todd Gamblin
5a3803de39
Add options to stage to make it just print out stage dir.
2014-08-11 22:47:23 -07:00
Todd Gamblin
0bba101ff9
Allow packages to add a dotkit() method and write custom parts of dotkits.
2014-08-11 22:47:22 -07:00
Todd Gamblin
113afe860e
More robust symbol inclusion for 'from spack import *'
...
- avoid errors where some symbols aren't exported to packages.
- reduce the number of places each symbol needs to be mentioned in
an __all__ list
2014-08-11 22:47:22 -07:00
Todd Gamblin
48d5281e3a
Test cases pass; Spack supports Python 2.6!
2014-08-10 18:07:20 -07:00
Todd Gamblin
7082b0a59a
cc supports Python 2.6
2014-08-10 18:07:20 -07:00
Todd Gamblin
696e80c62f
Get rid of Python 2.7 dict.viewkeys() call.
2014-08-10 18:05:52 -07:00
Todd Gamblin
d95e7ecfe1
Remove dependency on Python2.7 OrderedDict, revise config parser
2014-08-10 17:56:36 -07:00
Todd Gamblin
d86a638099
Add Python 2.7 functools.total_ordering to external modules.
...
- removing dependence on 2.7
- added it to pyqver2 ads well
2014-08-10 17:54:39 -07:00
Todd Gamblin
ca328a6993
Fix minor warning about Exception.message being deprecated.
2014-08-10 17:52:46 -07:00
Todd Gamblin
a41a19d14d
Change dict comprehensions to dict() constructors.
2014-08-10 16:04:41 -07:00
Todd Gamblin
5a5da817a1
Fix SPACK-27 & remove dependence on check_output
...
- subprocess.check_output is python 2.7 only
- Spack checks for existence of requested prefix, creates it if it does not exist.
2014-08-10 11:52:17 -07:00
Todd Gamblin
7714d08e2e
Remvoe dependence on v2.7 argparse by including argparse.
2014-08-10 11:48:07 -07:00
Todd Gamblin
17895bd6fd
Add a test case to ensure that Spack is v2.6 compliant.
2014-08-10 11:46:14 -07:00
Todd Gamblin
8ab793a3a6
Add external package with pyqver2 tool
2014-08-10 11:45:32 -07:00
Todd Gamblin
98797459f3
Minor tweaks after spec update.
...
- spack find -p works properly (get path from spec, not package)
- directory layout and PackageDB normalize things automatically unless
they're unknown packages (need to do this for spack find -l)
- install test made robust to mock/main package conflicts
2014-08-09 17:41:56 -07:00
Todd Gamblin
5f073ae220
More spec improvements
...
- Spec.copy() does not create superfluous nodes and preserves DAG
connections.
- Spec.normalize() doesn't create extra dependency nodes or throw out
old ones like before.
- Added better test cases for above changes.
Minor things:
- Fixed bug waiting to happen in PackageDB.get()
- instances was keyed by name, not by spec, so caching wasn't really
working at all.
- removed unused PackageDB.compute_dependents function.
- Fixed PackageDB.graph_dependencies() so that spack graph works again.
2014-08-09 16:17:40 -07:00
Todd Gamblin
63f8af8078
Add postorder traversal to specs
...
- Spec.preorder_traversal() is now Spec.traverse().
- Caller can supply order='pre' or order='post'
2014-08-08 13:21:52 -07:00
Todd Gamblin
d5c625d87d
Clean up specs, spec comparison, and spec hashing.
...
- Spec comparison is now less strict
- compares based on sorted list of dependencies but not
their structure
- Makes comparison easy when a spec is not normalized.
- This makes the dep_hash consistent for specs read in from a
directory layout. - Can now reliably read in a spec for which the
package has gone away, and still be able to delete its install.
- easy switching between git branches
- Fixed latent bug in Spec.flat_dependencies() (was including root)
- added a test for the directory layout so that this code will get
more exercise.
2014-08-08 13:21:48 -07:00
Todd Gamblin
c55041e9d4
Partial commit of more packages.
2014-08-04 07:54:22 -07:00
Todd Gamblin
cabfc374eb
More descriptive error when package constructor fails.
...
- helps package_sanity test identify which package failed.
- encountered while upgrading versions in Adam's packages to the new format.
2014-08-04 07:54:05 -07:00
Adam Moody
a32816c644
cannot uninstall dtcmp because depends on dtcmp
2014-08-04 07:54:04 -07:00
David Beckingsale
57ddbd282a
Fixed up module support
2014-08-04 07:53:40 -07:00
David Beckingsale
94c5c9667c
Added inital module support
2014-08-04 07:53:40 -07:00
George Todd Gamblin
d13d32040c
Merge pull request #20 in SCALE/spack from openss to develop
...
# By Matthew LeGendre (2) and Todd Gamblin (1)
# Via Todd Gamblin
* commit 'd7a3c7e555bfd93fbf93ec55608d7fc6aa8052f8':
Fix up Matt's openss packages.
Add sqlite to spack
Add libmonitor to spack. Still needs svn support for checkout
2014-08-04 07:51:12 -07:00
Todd Gamblin
d0b179962b
find and uninstall work when installed package is no longer in spack.
...
- Make switching between git branches easier.
- Make future removal of packages easier.
2014-08-04 07:40:53 -07:00
Todd Gamblin
d7a3c7e555
Fix up Matt's openss packages.
2014-08-03 12:57:09 -07:00
Todd Gamblin
1ad474f1a9
Allow per-version URLs instead of one single URL per package.
2014-07-30 23:30:07 -07:00
Todd Gamblin
5829b44648
Fix Jeff Keasler's issues and add parmetis package.
2014-07-09 01:37:24 -07:00
Todd Gamblin
5f8724650a
Fix for SPACK-35: Fortran not working properly
...
- Spack needed symlinks in env for fortran compilers.
- 'fc' is a bash bulitin, so can't use it for fortran compiler.
- switched to 'f90' for this.
- mpich 3 builds with fortran now.
- enabled shared libs in mpich package
2014-07-09 01:28:23 -07:00
Todd Gamblin
bd8838ca6d
Fix typos.
...
Thanks Adam!
2014-07-08 02:41:29 -07:00
Todd Gamblin
830b9ab25c
Fix for finding dependent packages
2014-07-08 02:36:40 -07:00
Todd Gamblin
10318a11dd
Fix for dependent package detection.
2014-07-08 02:35:50 -07:00
Todd Gamblin
295ffd8c50
Adding dotkit support to TAU.
...
- New spack.hooks package
- contains modules with pre and post install hooks
- New dotkit hook module
- generates/removes dotkits on install/uninstall
- New spack use, spack unuse commands
- use same syntax as install/uninstall
- New setup-env.bash script
- Sets up path, dotkit support
- new spack dotkit command
- used by script to parse specs, generate
specs of installed pckages for dotkit file names
2014-07-08 01:58:20 -07:00
Todd Gamblin
0551638944
Add TAU package and routines to filter files, fix sed calls.
...
- TAU doesn't install to directories with '@' in the name.
- Need to fix up its scripts.
- routines to filter files as sed would, but using python regular expressions.
- TAU package uses this.
2014-07-02 23:24:10 -07:00
Todd Gamblin
a7fd8be514
Some fixes for spack-python interpreter mode.
2014-07-02 23:24:10 -07:00
Todd Gamblin
4b960c131b
Reordered site configuration docs.
2014-06-24 17:07:18 -07:00
Todd Gamblin
3b1e6d4bbc
Updated docs.
2014-06-24 17:01:29 -07:00
Todd Gamblin
bf498991d3
Bugfix for mirror command
2014-06-24 17:00:56 -07:00
Todd Gamblin
3c3f272280
spack mirror now checksums fetched archives.
2014-06-24 11:53:44 -07:00
Todd Gamblin
b33412e03a
New spack mirror command, configuration.
...
- Mirrors now appear in ~/.spackconfig, can be edited in that file.
- spack mirror command allows adding, listing, removing mirrors
- Also still creates mirror directories.
2014-06-24 11:15:41 -07:00
Todd Gamblin
9f8ef85644
Add more output; don't re-add existing compilers
2014-06-24 07:17:30 -07:00
Todd Gamblin
8165393962
import & namespace fixes
...
- Fix Boost issue reported in SPACK-16
2014-06-23 09:37:53 -07:00
Todd Gamblin
8e066ebf2a
Simplified compiler finding logic and caching.
2014-06-23 08:53:55 -07:00
Todd Gamblin
33a11f32fd
Multi-compiler support feature-complete. Fix SPACK-3, SPACK-4, SPACK-12.
...
- Fast compiler finding in path and for other directories
- first time spack runs, it searches path.
- user can add more compilers with 'spack compiler add'
- Finds intel, gcc, clang, and pgi compilers with custom version args.
- Builds can plug in alternate compilers with ease (e.g. %intel@12.1)
2014-06-22 12:50:42 -07:00
Todd Gamblin
f1bc65c132
Executables can optionally ignore error output.
2014-06-22 12:50:35 -07:00
Todd Gamblin
ae31838193
Enable allow_no_value for config parser.
...
- Will be useful for, e.g., mirror lists.
- Previously didn't properly override regex used when no-value fields are allowed.
2014-06-22 12:50:35 -07:00
Todd Gamblin
c091c6d412
Make tests use mock compiler configuration.
...
- makes sure tests don't fail on systems that don't have some compilers (e.g. clang).
- more control over specific test cases for compilers.
2014-06-22 12:50:35 -07:00
Todd Gamblin
c256d5d1ac
Set default editor to vi if EDITOR is not set.
2014-06-22 12:50:35 -07:00
Todd Gamblin
3303365d12
Add working_dir, Version back into package build namespace.
2014-06-22 12:50:34 -07:00
Todd Gamblin
3653cfe6f0
Compiler support now uses configuration files.
...
- no more need for compiler python files.
- Default compilers are found in user's environment and added
to ~/.spackconfig automatically
- User can add new compilers by editing configuration file
2014-06-22 12:50:34 -07:00
Todd Gamblin
b6740cf1d1
Make debug and verbose output work properly.
2014-06-22 12:50:34 -07:00
Todd Gamblin
4608b674e5
Minor cleanup and bug fixes.
2014-06-22 12:50:34 -07:00
Todd Gamblin
c8414a8a40
Add support for configuration files. Fix SPACK-24.
2014-06-22 12:50:13 -07:00
Todd Gamblin
042a4730e3
Proper exiting for forked process in do_install()
2014-06-22 12:50:10 -07:00
Todd Gamblin
15f56ccee0
Move globals to spack's __init__.py
2014-06-22 12:50:10 -07:00
Todd Gamblin
e70ac872cb
Move globals to spack's __init__.py
2014-06-22 12:50:09 -07:00
Todd Gamblin
f784757113
Initial ability to swap compilers.
...
Fixes SPACK-16 and forces compiler script to build using compiler wrappers.
- works with gcc and clang on laptop.
2014-06-22 12:49:34 -07:00
Todd Gamblin
ed6454fe78
Better satisfies: e.g., v4.7.3 now satisfies v4.7
...
- Changed how satisfies() is defined for the various version classes
- Can't just use overlaps() with version lists -- need to account for
more and less specific versions.
If the version is more specific than the constriant (e.g., 4.7.3 is more
specific than 4.7), then it should satisfy the constraint, because if
a user asks for 4.7 they likely do not care about the minor version. If they
do, they can specify it. New Version.satisfies() takes this into account.
2014-06-22 12:33:49 -07:00
Todd Gamblin
285c5444ab
Add CompilerSpec class and loading capability.
...
- spack.spec.Compiler is now spack.spec.CompilerSpec
- Can load a spack.compilers.* module for a particular spec
- e.g. load Gcc module for gcc@4.7 spec.
2014-06-22 12:33:49 -07:00
Todd Gamblin
45baf73c34
Implemented compiler concretization policy.
2014-06-22 12:33:49 -07:00
Todd Gamblin
c6956bc8e7
Sorted out spack.compilers vs var/spack/compilers
2014-06-22 12:33:49 -07:00
Todd Gamblin
8d78e1142f
Make Compiler constructor behave like Spec constructor.
2014-06-22 12:33:49 -07:00
Todd Gamblin
1fa20ec2ba
partial checkin
2014-06-22 12:33:49 -07:00
George Todd Gamblin
719978a63d
Merge pull request #10 in SCALE/spack from ~SHRADER3/spack:develop to develop
...
# By David Shrader
# Via David Shrader
* commit '1c1e7295f02b123310efe88b0a23a9cb95cce2f4':
Fix bug in checksum reporting
2014-05-27 08:45:39 -07:00
Todd Gamblin
d99ee7e6ce
Fix for SPACK-28: truncated output in docs.
2014-05-27 08:43:25 -07:00
Todd Gamblin
4665505936
Add index_by function to llnl.util.lang
2014-05-27 08:33:19 -07:00
David Shrader
1c1e7295f0
Fix bug in checksum reporting
...
The number of variables in the string printed for a checksum failure
was not correct. Now a useful error message is printed instead of a
stack trace and a TypeError.
2014-05-20 15:56:52 -06:00
Todd Gamblin
b32cbd6b13
Better version substitution and wildcard URLs.
...
- Previously, URLs like this wouldn't work with spack create:
http://www.hdfgroup.org/ftp/HDF5/current/src/hdf5-1.8.13.tar.bz2
The '5' in hdf5 would interfere with version wildcard substitution beacuse
the wildcard regex would subsume it.
We now take the name of the package OUT of the URL before splitting it up
and adding version wildcards. This prevents names with numbers from breaking
url.wildcard_version.
Also added a package sanity check test that ensures all builtin packages
work with wildcard_version.
2014-05-17 13:47:01 -07:00
Todd Gamblin
e0c7a63a5a
Bugfix in error message.
2014-05-16 11:33:17 -07:00
Todd Gamblin
3607c26439
Allow widths in spec format strings.
2014-05-04 11:07:16 -07:00
George Todd Gamblin
c59e23c1f9
Merge pull request #8 in SCALE/spack from features/boost to develop
...
# By Todd Gamblin
# Via Todd Gamblin
* commit 'a0c91791c5ac995b80111a92c94d8fb760caa6e3':
SPACK-25: Add package for boost. Works on Linux currently.
Better temp directory selection.
Status messages now show install and stage directories.
Better version wildcard handling, better spidering
2014-04-29 20:16:05 -07:00
Todd Gamblin
b813b40c4f
Clean up commands and get rid of inconsistent --dirty options
...
- checksum --dirty and create --dirty now changed to --keep-stage
- install --dirty is now --keep-prefix
- uninstall --force now works properly
- commands use keyword args instead of package instance vars
where possible (less weird package state)
2014-04-25 15:32:11 -07:00
Todd Gamblin
0c99d9ddc3
Fix SPACK-17: Remove install prefix if install() fails
...
- except clause now catches anything, not just exception
- sys.exit() changed to os._exit() to avoid interfering with unit tests
and to avoid raising SystemExit exception when child processes quit.
2014-04-25 14:55:50 -07:00
Todd Gamblin
07ef48a036
Better temp directory selection.
...
- Prefer tempfile.gettempdir(), then LC dirs like /nfs/tmp2
2014-04-25 14:48:42 -07:00
Todd Gamblin
c2d1478a7c
Status messages now show install and stage directories.
2014-04-25 14:48:42 -07:00
Todd Gamblin
3bbca9bd05
Better version wildcard handling, better spidering
...
- Allow version wildcards to match [_-.] instead of the exact separators
the version was constructed with.
- Handles the fact that boost versions are written both 1.55.0 and 1_55_0.
- Update spidering to handle parse errors and warn that Python < 2.7.3 has
less robust HTML parsing abilities.
2014-04-25 14:41:37 -07:00
George Todd Gamblin
15589754ec
Merge pull request #7 in SCALE/spack from bugfix/SPACK-10-fork-on-install to develop
...
# By Todd Gamblin
# Via Todd Gamblin
* commit 'b4fddad7eff448adf701fc9e88cf02cd6e582f15':
Fix for SPACK-10: Spack now forks before install()
2014-04-24 21:40:27 -07:00
George Todd Gamblin
b2efea01d5
Merge pull request #6 in SCALE/spack from bugfix/SPACK-20-bin-directories-in-path to develop
...
# By Todd Gamblin
# Via Todd Gamblin
* commit '554ae9b3552a40ed253250bdebf548e4d8b01976':
bugfix for SPACK-20: add dependency bin directories to PATH
2014-04-24 21:33:05 -07:00
Todd Gamblin
b4fddad7ef
Fix for SPACK-10: Spack now forks before install()
...
- this allows each install to have full control over its environment,
and over spack.
- build process can do whatever it wants and doesn't affect main Spack
process.
2014-04-16 01:19:02 -07:00
Todd Gamblin
514f1acdb0
Default SYS_TYPE should just be an unknown architecture.
2014-04-16 00:55:05 -07:00
Todd Gamblin
554ae9b355
bugfix for SPACK-20: add dependency bin directories to PATH
...
- Consolidated build environment stuff from package.py into
build_environment.py
- package.py calls build_environment.py functions just before calling
install(), in do_install()
- Organization is better b/c SPACK_xxxx environment variables are now
in build_environment, the only place they're used. Were previously
cluttering globals.py.
2014-04-15 22:45:34 -07:00
Gregory L. Lee
655ab60beb
use installed property to check package existence
2014-04-14 15:22:03 -07:00
Gregory L. Lee
2aa859e0cf
fixed installed dependents and uninstall error message
2014-04-14 15:22:03 -07:00
Todd Gamblin
50f74c117e
Fix for SPACK-22: Consistent dependency hashing.
...
The dependency hash wasn't being generated in a consistent way: when
read from .spec file in the install directory, the spec DAG was not
normalized, but when generated on install, it was. Thus the same
spec can have two possible hashes, which is obviously not good.
In this commit:
- Added a dep_hash function to spec, which should be used to get the
dependency hash in all cases. This function normalizes the spec
before generating the hash.
- removed sha1 functions from Spec and DependencyHash. The one on
Spec is not needed and is confusing (it hashed the whole spec, not
just hash the deps) and the one on DependencyHash wasn't guaranteed
to be safe because it can't normalize its parent spec before
hashing.
Hopefully this makes things consistent and easy.
2014-04-14 14:11:58 -07:00
Todd Gamblin
9fa99030eb
Print compiler correctly.
2014-04-14 13:53:40 -07:00
Todd Gamblin
1f9dfeb9b5
Clean up find command, move code to utils.
2014-04-14 12:53:23 -07:00
Todd Gamblin
1e51daab08
Fix broken calls into colify.
2014-04-14 09:42:53 -07:00
Todd Gamblin
79c5dd0952
Fix SPACK-21: stage names are too long
...
Stage names now hash dependencies like install prefixes.
2014-04-13 17:32:22 -07:00
Todd Gamblin
59a3b8dc67
Make SSL verification failures recommend spack -k
...
- Adds optional long message to SpackError
- tty now wraps long message text.
2014-04-13 16:38:15 -07:00
Todd Gamblin
980c1f0e47
Update docs for new package structure.
2014-03-16 17:05:24 -07:00
Todd Gamblin
81dc27bf41
Move packages and mock packages to /var/spack
2014-03-16 17:05:15 -07:00
Todd Gamblin
566dc037e7
Add a test for package names
2014-03-16 15:24:03 -07:00
Todd Gamblin
8b1c760ea3
Modify create and edit to work with new package format.
2014-03-16 15:23:44 -07:00
Todd Gamblin
b8b334e86c
New, more consistent package directory structure.
...
- Packages now live in <package_name>/package.py
- spack.packages refactored to use a PackageDB object instead of
monolithic module.
- Implementation of mock_packages_test.py is greatly simplified
- Added test to exercise install/uninstall code because that wasn't
covered by existing tests and kept breaking.
2014-03-16 14:51:03 -07:00
Todd Gamblin
74ec74d73c
Integrate & clean up packages from LLNL hackathon.
2014-03-15 19:46:41 -07:00
Todd Gamblin
61fc2317d8
Merge branch 'openmpi' into next
2014-03-15 16:00:50 -07:00
Todd Gamblin
f6ea9406c3
Merge branch 'scr' into next
2014-03-15 16:00:20 -07:00
Todd Gamblin
a3beb688e1
Merge branch 'spindle' into next
...
- Fixed conflicting changes to env/cc
- TODO: get rid of small hack in cc for machines with no CC
2014-03-15 13:08:20 -07:00
Todd Gamblin
bb00f2a7a0
Merge branch 'stat' into next
2014-03-15 12:57:41 -07:00
Todd Gamblin
27093790dc
Merge branch 'launchmon' into next
2014-03-15 12:57:34 -07:00
Adam Moody
2588e023ec
patches for openmpi 1.6.5
2014-03-15 09:11:44 -07:00
Adam Moody
b207c6779b
adding scr
2014-03-15 08:58:18 -07:00
Todd Gamblin
9d01df9e8a
Moving utilities to a common LLNL package.
2014-03-14 16:21:15 -07:00
Gregory L. Lee
e38e79417b
cleaned up fixmes in package
2014-03-14 13:19:54 -07:00
Gregory L. Lee
6a185dfb24
launchmon dependency added as comment, need Jira SPACK-21 fixed
2014-03-14 12:56:40 -07:00
Gregory L. Lee
f0f0c99c55
launchmon dependency added as comment, need Jira SPACK-20 fixed
2014-03-14 12:54:28 -07:00
Gregory L. Lee
7b28ee2cd2
Merge branch 'launchmon' of ssh://cz-stash.llnl.gov:7999/scale/spack into stat
2014-03-14 12:05:12 -07:00
Gregory L. Lee
759d33ac5b
fixes for launchmon build
2014-03-14 12:04:27 -07:00
Matthew LeGendre
cfbf348982
Fix spindle launchmon dependency
2014-03-14 12:04:18 -07:00
Matthew LeGendre
6147d52f2d
Merge branch 'version_opt' into spindle
2014-03-14 11:33:37 -07:00
Matthew LeGendre
40cda9fa9c
Fix issue when compiler wrappers ran gcc -V
2014-03-14 11:22:09 -07:00
Gregory L. Lee
9cbf5bc311
added workaround to libtool bug + config using non-spack launchmon
2014-03-14 11:06:23 -07:00
Gregory L. Lee
b104c3efce
initial stat creation
2014-03-14 08:42:08 -07:00
Gregory L. Lee
37d30f4886
removed curl -k hack after rebase with spack -k fix
2014-03-14 08:42:08 -07:00
Gregory L. Lee
f1f5a5a0bf
workarounds for bugs
2014-03-14 08:42:08 -07:00
Adam Moody
940dd829da
adding pmgr_collective
2014-03-14 08:42:08 -07:00
Todd Gamblin
47f0edcbe4
Add str() calls around messages in tty
2014-03-14 08:42:08 -07:00
Matthew LeGendre
db92db1c7a
Use unzip to unpackage .zip files
2014-03-14 08:42:07 -07:00
Todd Gamblin
40dda596a0
Support github URLs
2014-03-14 08:42:07 -07:00
Adam Moody
ab8e79fc2d
change rename to move in mirror creation
2014-03-14 08:42:07 -07:00
Gregory L. Lee
26b86db8a4
added mrnet and graphlib
2014-03-14 08:42:07 -07:00
Matthew LeGendre
008d7a3162
Change spindle package to use hardcoded LaunchMON path
2014-03-13 17:04:02 -07:00
Matthew LeGendre
6f43da74ed
Merge branch 'master' into spindle
2014-03-13 16:52:21 -07:00
Matthew LeGendre
bb9c5a19cf
Add build fix patch to launchmon
2014-03-13 16:38:34 -07:00
Todd Gamblin
7d655b5407
Add force_url option to launchmon for unversioned URL
2014-03-13 16:09:42 -07:00
Matthew LeGendre
5d96844e57
Add launchmon package to spack
2014-03-13 16:08:22 -07:00
Todd Gamblin
c3b72c3d7c
Added a force_url option for packages that do not have nice URLs
2014-03-13 16:08:07 -07:00
Adam Moody
03ee31e0e8
Merge branch 'master' of https://lc.llnl.gov/stash/scm/scale/spack
2014-03-13 15:56:44 -07:00
Adam Moody
fadd2032a3
adding pmgr_collective
2014-03-13 15:56:29 -07:00
Todd Gamblin
6058f7aac6
Add str() calls around messages in tty
2014-03-13 15:53:18 -07:00
Matthew LeGendre
67203f17e0
Merge branch 'master' into zippackages
2014-03-13 15:18:15 -07:00
Matthew LeGendre
15840cc677
Use unzip to unpackage .zip files
2014-03-13 15:17:26 -07:00
Todd Gamblin
77aeac6501
Support github URLs
2014-03-13 14:51:28 -07:00
Adam Moody
c3f3353de0
change rename to move in mirror creation
2014-03-13 14:43:26 -07:00
Matthew LeGendre
78abdcea16
add spindle package
2014-03-13 14:14:31 -07:00
Todd Gamblin
cf5e850f27
Add spack patch docs to build process section.
2014-02-10 09:58:09 -08:00
Todd Gamblin
7152c82ec7
Document mirrors and change mirror precedence.
2014-02-10 09:48:07 -08:00
Todd Gamblin
c9dc4636cc
Command to create spack mirrors.
2014-02-10 09:07:24 -08:00
Todd Gamblin
93e80852f5
Cleanup find_versions_of_archive.
...
- less kludgy matching -- we nw extract the version straight from a
capture group in the original match, rather than by trying to match
again.
- Avoids problems like finding "2" as the version in mvapich2-1.9, when
"2" here is part of the package name.
2014-02-09 09:11:12 -08:00
Todd Gamblin
be7e0a9604
Added docs for patching.
2014-02-08 19:29:33 -08:00
Todd Gamblin
36b6ad2242
started patch docs.
2014-02-08 18:57:04 -08:00
Adam Moody
10148ff802
add mvapich2 module
2014-02-08 18:13:42 -08:00
Todd Gamblin
b816f71f8c
Support for patches in packages.
...
- packages can provide patch() directive to specify a patch file that
should be applied to source code after expanding it and before
building.
- patches can have a when spec, so they're only applied under certain
conditions
- patches can be local files in the package's own directory, or they
can be URLs which will be fetched from the internet.
2014-02-08 18:11:54 -08:00
Todd Gamblin
9a29aa8d03
Packages can now live in directories, not just .py files.
...
This gives us a place to put patch files.
2014-02-08 15:18:24 -08:00
Todd Gamblin
f09c58549a
Fix regex used in find_versions_of_archive.
...
Fixes github issue #2 , as well as spack create for mvapich.
2014-02-07 10:36:58 -08:00
Todd Gamblin
3df638dd41
Add dirty options to create and checksum, like install.
2014-02-07 10:10:28 -08:00
Todd Gamblin
42610be2e5
Fix bugs that crept into spack clean when stage was refactored.
2014-02-07 09:28:50 -08:00
Todd Gamblin
19df908cb6
Make default spack text non-bold
2014-02-07 09:13:10 -08:00
jprotze
f6a484519e
fix alias naming
2014-02-07 14:19:16 +01:00
Todd Gamblin
73774c1249
Spack message text is just bold, not bold white now.
...
- added capability for just bold and just underline to color.py
- Make tty.msg() display bold text instead of bold white
2014-02-06 16:58:23 -08:00
Todd Gamblin
72f0192ddd
Fixed regressions.
2014-02-05 08:30:28 -08:00
Todd Gamblin
9e469c37c4
Bugfix in clean command.
2014-02-05 00:17:36 -08:00
Todd Gamblin
4a913cbbd0
Fix bug in make jobs parameter.
2014-02-05 00:17:36 -08:00
Todd Gamblin
a71c59d4fe
Fix Mac OS package icon.
2014-02-05 00:17:36 -08:00
Todd Gamblin
a6b24f85df
Architecture string can contain '.' now.
2014-02-05 00:17:35 -08:00
Todd Gamblin
14278fdf0a
Allow file URLs
2014-02-05 00:17:35 -08:00
Todd Gamblin
09300d9261
Ignore more errors when spidering.
2014-02-05 00:17:35 -08:00
Todd Gamblin
7290322d96
Fix spelling error in tmp dir
2014-02-05 00:17:35 -08:00
Todd Gamblin
badb130eff
Simplify redundant conditional.
2014-02-05 00:17:35 -08:00
Todd Gamblin
c0ea783310
Fix import bug.
2014-02-05 00:17:34 -08:00
Todd Gamblin
6d956f372f
Fix bug in staging.
...
- Stage needs to account for symlinks in self.tmp_dir
- Use os.realpath on self.tmp_dir when checking to see if a stage needs to be rebuilt
2014-02-05 00:17:34 -08:00
Todd Gamblin
03a32f0d5b
Can now mirror tarballs in a local directory.
...
- Can add tarballs to local directory; no longer have to download from source URL.
2014-02-05 00:17:34 -08:00
Gregory L. Lee
b4da28f71e
bug fixes
...
- Make prefix an actual string so that install doesn't fail.
- Executable should throw SpackError on command failure.
2014-01-23 01:30:44 -08:00
Todd Gamblin
8f7c92706f
More typo fixes
2014-01-15 00:46:05 -08:00
Todd Gamblin
cab94f86ee
typo fixes from Adam
2014-01-14 23:50:50 -08:00
Todd Gamblin
91d6f0b481
Developer documentation
2014-01-12 18:22:19 +01:00
Todd Gamblin
d18be7437f
Remove trailing whitespace from license text
2014-01-12 18:19:18 +01:00
Todd Gamblin
08a25adb2f
Site configuration docs
2014-01-11 20:42:48 +01:00
Todd Gamblin
72e54caf06
Add line to disable jekyll on github.
2014-01-09 18:18:38 +01:00
Todd Gamblin
912a87c868
Fix docs to account for license header.
2014-01-09 18:06:18 +01:00
Todd Gamblin
ad746bd686
Add a rule for automatically creating gh-pages from html docs.
2014-01-09 16:35:46 +01:00
Todd Gamblin
0b5d531f31
make empty _static directory "exist" to git
...
Sphinx really wants the _static directory to exist, but git doesn't.
This is a compromise to avoid superfluous warnings from sphinx.
See here:
http://stackoverflow.com/questions/115983/how-do-i-add-an-empty-directory-to-a-git-repository
2014-01-09 14:03:32 +01:00
Todd Gamblin
837fc18d14
Add release number to docs and license.
2014-01-08 11:23:15 +01:00
Todd Gamblin
402c158f3b
Change to github URL in docs.
2014-01-08 11:02:12 +01:00
Todd Gamblin
ce9b3511d0
Add license to python files and spack script.
2014-01-08 10:21:35 +01:00
Todd Gamblin
2f520d6119
Change multimethods to take first match instead of being rigid.
...
- Formerly required that one and only one spec match
- Now allows first match in a list (more flexible and more intuitive)
- introduces new bug that provides() doesn't do the correct thing
when a version is not in a range that has been explicitly provided.
- TODO: fix this.
2014-01-07 09:52:29 +01:00
Todd Gamblin
36e6ef9fbd
Packaging docs are mostly done.
2014-01-06 18:21:27 +01:00
Todd Gamblin
40229f6ed2
More packaging docs
2014-01-06 17:15:25 +01:00
Todd Gamblin
4c9c7ab65f
Local specs now called "anonymous specs"
...
- anonymous specs have no name
- "local spec" came from these first being used in multimethods, i.e. "name of the local Package"
- not the most intuitive name.
2014-01-06 15:18:15 +01:00
Todd Gamblin
93e288859a
Simpler prefix args.
2014-01-06 14:14:57 +01:00
Todd Gamblin
5f2feac92c
Remove install methods from mock packages (not needed)
2014-01-06 11:05:58 +01:00
Todd Gamblin
df0c1134c9
SPACK-14: Bugfix in Spec.normalize()
...
- Normalize now updates the provider index as it addes package dependencies.
- Fixes problem where this breaks:
a depends_on mpi
a depends_on b
b depends_on mpich
- Packages now restrict the mpi dependency to mpich
2014-01-06 09:25:51 +01:00
Todd Gamblin
d0b82d291f
Change deps on 'mpich' to 'mpi'
2014-01-04 14:44:16 -08:00
Todd Gamblin
b579ba213d
More packaging documentation
2014-01-04 14:43:44 -08:00
Todd Gamblin
30d3b32085
Bug fix in how class names are determined
2014-01-03 11:43:29 -08:00
Todd Gamblin
208db9b002
More packaging documentation.
2013-12-26 13:47:13 -08:00
Todd Gamblin
a4cda94524
install() now takes spec AND prefix
2013-12-25 17:19:51 -08:00
Todd Gamblin
0cd5866eea
Some fixes recommended by PyCharm
2013-12-25 15:40:32 -08:00
Todd Gamblin
4ff8766a22
Starting on packaging docs.
2013-12-25 15:30:42 -08:00
Todd Gamblin
354c8a281b
make create and checksum consistent.
...
- create now searches and prompts for checksums.
- makes package creation easier
2013-12-24 00:57:56 -08:00
Todd Gamblin
2f1eae8c0d
spack checksum works.
2013-12-23 16:12:02 -08:00
Todd Gamblin
db32769347
spack edit fixed.
2013-12-23 14:01:10 -08:00
Todd Gamblin
7267734a5b
Spack create works again w/new package format.
2013-12-23 12:09:19 -08:00
Todd Gamblin
358bfdaaf1
Another multimethod test for vdeps
2013-12-23 10:28:50 -08:00
Todd Gamblin
87dc2151b7
constrain() now consistent with satisfies()
...
- Added checks to constrain() so that it is consistent with satisfies()
- Added many more test cases for satisfiability and constraints on deps
- Virtual packages are handled properly in satisfies() and constrain()
- bugfix: mpileaks^mpich2 would satisfy mpileaks^mpi@3:
- this case is now handled.
2013-12-23 10:19:55 -08:00
Todd Gamblin
7088cdf25f
Fix for SPACK-13, and satisfies() now handles deps.
...
Added more test cases for multimethods. In doing so, (re)discovered that
satisfies() really needs to handle dependencies properly.
Implemented support for dependencies in satisfies, but constrain() now
isn't consistent (as we do not currently constrain deps), so need to
implement that.
Virtual dependency support probably needs some deeper thought. i.e.,
there is probably an intermediate DAG form that would make the needed
checks easier. Right now we have to build ProviderIndexes to figure out
how virtual dependencies are set up. If the vdep were preserved in the DAG,
then we could just check for things like incompatible providers directly.
2013-12-22 17:55:58 -08:00
Todd Gamblin
f7706d231d
SPACK-2: Multimethods for specs.
...
- multi_function.py -> multimethod.py
- Added @when decorator, which takes a spec and implements matching for method dispatch
- Added multimethod unit test, covers basic cases.
2013-12-21 17:19:05 -08:00
Todd Gamblin
99b05fd571
More docs.
2013-12-21 15:32:34 -08:00
Todd Gamblin
dfd0440a7e
Color tweaks for find.
2013-12-21 15:30:35 -08:00
Todd Gamblin
a63482be73
Docs for spack find
2013-12-21 15:30:35 -08:00
Todd Gamblin
88017ec49e
Made formatting specs easier with format() syntax.
...
- Replaced existing str_no_deps() function with more flexible format() function.
- Spec.tree() can take a format argument now, as well.
2013-12-21 15:30:35 -08:00
Todd Gamblin
e645bb065a
SPACK-1: Multi-version installation now works front to back with specs.
2013-12-21 15:30:10 -08:00
Todd Gamblin
af639dca16
Make dirty installs part of package lifecycle
2013-12-18 11:42:56 -08:00
Todd Gamblin
c7beac295d
More on installing with virtual packages
2013-12-18 11:36:55 -08:00
Todd Gamblin
256c42a34c
Added a target to upload docs automatically.
2013-12-18 11:18:11 -08:00
Todd Gamblin
7be511a352
Finished basic usage.
2013-12-18 11:02:31 -08:00
Todd Gamblin
c9e40b725d
Start of basic documentation
2013-12-12 04:25:31 -08:00
Todd Gamblin
c7539fe950
Better info command.
2013-12-12 01:04:32 -08:00
Todd Gamblin
7575f99bea
Documentation skeleton
2013-12-09 20:17:08 -08:00
Todd Gamblin
8d51c95e68
use get instead of setdefault for kwargs.
2013-12-09 10:44:46 -08:00
Todd Gamblin
936f54761b
type(foo) == bar -> isinstance(foo, bar)
...
Changed type checks in most places.
2013-12-09 00:47:17 -08:00
Todd Gamblin
fa2e8dab11
Additional circular reference checking
2013-12-08 21:38:37 -08:00
Todd Gamblin
e0c029c347
Fixes for virtual packages.
...
- Added more tests
- cleaned up spec preorder traversal
- fixed concretization
2013-12-08 19:26:29 -08:00
Todd Gamblin
90f2154a32
Better test output -- include totals.
2013-12-07 15:16:09 -08:00
Todd Gamblin
87fedc7e1e
Added support for virtual dependencies ("provides")
2013-12-07 13:51:46 -08:00
Todd Gamblin
344e902b15
More stage tests.
2013-12-01 23:57:07 -08:00
Todd Gamblin
ff2018bc85
Reworked stage paths to allow %u for username. Added stage test.
2013-11-24 14:06:11 -08:00
Todd Gamblin
3de3efc75d
Gracefully handle lack of network connection.
2013-11-23 21:01:07 -08:00
Todd Gamblin
1247036141
Generalize package relations like depends_on, provides, conflicts.
...
All of these do the same thing. So they are all now generalized
to a single closure function; just the name of the updated variable
in the package is different.
2013-11-23 15:46:04 -08:00
Todd Gamblin
6cf6eac3de
Move concretization into its own class.
...
Allows easy overriding of a single policy.
2013-11-23 15:18:43 -08:00
Todd Gamblin
f31aaeed98
Cleanup and comments.
2013-11-23 14:55:09 -08:00
Todd Gamblin
2dff2f3341
Fix virtual method.
2013-11-23 13:43:59 -08:00
Todd Gamblin
389fa1792d
Added web spider capability for listing versions.
2013-11-23 13:04:36 -08:00
Todd Gamblin
fe7da0dcff
Update libdwarf URL.
2013-11-20 14:43:17 -07:00
Todd Gamblin
b5c565891f
First cut concretization works, with tests.
...
Mock packages now all have their own version lists.
2013-10-26 14:04:09 -07:00
Todd Gamblin
7bdf93234a
Added unit tests for spec normalization.
2013-10-18 16:39:09 -07:00
Todd Gamblin
481a617d65
spack test runs all tests by default
...
'spack test -a' formerly ran all test and 'spack test' listed available tests.
Now, 'spack test' runs all tests and 'spack test -l' lists available ones.
2013-10-17 14:53:40 -07:00
Todd Gamblin
558cf7e406
spec flatten, normalize, validate; package validate
...
New operations for manipulating spec and package DAGs.
For specs:
flatten: gather all deps to the root
normalize: Merge constraints and make spec match package DAG
For packages:
validate_dependencies: Make sure spec constraints in package DAG are sane.
Added tests for above methods. Also added beginnings of concretization logic,
to turn abstract spec into a concrete one.
Still need proper tests for normalize().
2013-10-17 14:46:00 -07:00
Todd Gamblin
db07c7f611
Spec constraints and normalization now work.
...
- Specs can be "constrained" by other specs, throw exceptions when constraint
can't be satisfied.
- Normalize will put a spec in DAG form and merge all package constraints with
the spec.
- Ready to add concretization policies for abstract specs now.
2013-10-15 03:04:25 -07:00
Todd Gamblin
3fb7699e1e
Command to launch interpreter with spack in sys.path
2013-10-11 23:24:06 -07:00
Todd Gamblin
09fd944de5
Command to run pydoc on spack classes.
2013-10-11 23:23:41 -07:00
Todd Gamblin
bb63327da0
Refactor utils into separate modules.
2013-10-07 18:54:58 -07:00
Todd Gamblin
f2046a4aa3
Start to make a bigger package out of utils.py
...
- moved none_compare functions to util.none_high
and util.none_low packages
- renamed utils.py to util package
2013-10-07 18:12:26 -07:00
Todd Gamblin
618571b807
Checkpoint commit: much-improved spec class.
...
Still organizing things.
2013-10-07 17:57:27 -07:00
Todd Gamblin
157737efbe
Add spec architeccture, redo color output support.
2013-06-29 15:59:43 -07:00
Todd Gamblin
ebc507dc6e
Clean up half-downloaded tarballs.
2013-06-29 15:59:08 -07:00
Todd Gamblin
7a67cc1675
Adding expression syntax for console colors.
2013-06-29 15:56:29 -07:00
Todd Gamblin
5c761aafab
Add checks for version 2.7
2013-06-02 13:54:46 -07:00
Todd Gamblin
8f37817ae1
Better error messages for spack list -v.
2013-05-17 16:56:00 -07:00
Todd Gamblin
57ef3b8a80
Ability to list versions from web page with spack list -v PACKAGE
...
Experimental feature automatically parses versions out of web pages and prints what
it thinks are avaialble versions of a package, e.g.:
$ spack list -v libunwind
1.1 1.0 0.98.6 0.98.4 0.98.2 0.98 0.96 0.93 0.91 0.1
1.0.1 0.99 0.98.5 0.98.3 0.98.1 0.97 0.95 0.92 0.9 0.0
2013-05-17 16:25:00 -07:00
Todd Gamblin
6e557798e8
Added command to print out URL and homepage.
2013-05-17 16:04:56 -07:00
Todd Gamblin
7c98ee9644
Renamed variables called 'spec' to 'path'
2013-05-17 10:38:39 -07:00
Todd Gamblin
eb0832e379
list_modules will now find directories.
2013-05-13 10:35:38 -07:00
Todd Gamblin
b2f78ef78e
Added EBNF grammar.
2013-05-12 19:30:55 -07:00
Todd Gamblin
b2a5fef6ad
Commands take specs as input instead of names.
...
modified clean, create, fetch, install, and uninstall
2013-05-12 14:17:38 -07:00
Todd Gamblin
ad4411bc9e
More rubust spec parsing and error messages
2013-05-12 11:10:36 -07:00
Todd Gamblin
c3f52f0200
Initial implementation of package specs, including parser.
...
spec.py can parse full dependence specs like this:
openmpi@1.4.3:1.4.5%intel+debug ^hwloc@1.2
These will be used to specify how to install packages and their dependencies,
as well as to specify restrictions (e.g., on particular versions) for
dependencies. e.g.:
class SomePackage(Package):
depends_on('boost@1.46 ,1.49')
This would require either of those two versions of boost.
This also moves depends_on out to relations.py and adds
"provides", which will allow packages to provide virtual
dependences.
This is just initial implementation of the parsing and objects
to represent specs. They're not integrated with packages yet.
2013-05-09 14:21:16 -07:00
Todd Gamblin
5dd2c53e38
Removed old versions.py
2013-05-09 14:19:03 -07:00
Todd Gamblin
1b1c1c07f9
Don't exit after one test.
2013-05-09 14:18:38 -07:00
Todd Gamblin
fd93d4c235
Changed class name.
2013-05-09 14:18:11 -07:00
Todd Gamblin
2df8a29b9b
Removed executable bit.
2013-05-09 14:15:38 -07:00
Todd Gamblin
50718fe57f
Tests can be run via spack test <test_name>
2013-04-28 11:27:33 -07:00
Todd Gamblin
422d291b11
This adds support for multi-platform methods.
...
You can now do this:
class MyPackage(Package):
def install(self):
...default install...
@platform('bgqos_0')
def install(self):
...specialized install for bgq...
This works on functions other than install, as well (as long as they're in a Package)
2013-04-04 10:22:49 -07:00
Todd Gamblin
e1551de976
Moved install-spack to its own simpler command.
2013-03-25 15:27:28 -07:00
Todd Gamblin
aa0fd6c17a
Fix in docs.
2013-03-22 16:24:44 -07:00
Todd Gamblin
269cf53a68
Documentation and small changes.
2013-03-22 13:46:01 -07:00
Todd Gamblin
e410df743a
Simpler implementation of depends_on.
2013-02-25 18:18:48 -08:00
Todd Gamblin
27b9204785
Better spack -h: added cmd descriptions.
...
- each cmd has a desscription attribute that is used for the help strign in argparse.
2013-02-22 00:20:24 -08:00
Todd Gamblin
707db8dafe
Better handling of stage.
...
- better symlink handling
- remove stage directories on successful install.
2013-02-21 23:03:40 -08:00
Todd Gamblin
5899308ad3
Parallel bootstrap for cmake.
2013-02-21 20:05:11 -08:00
Todd Gamblin
bd59689fdc
Minor changes; loosened up parallel build for dwarf.
2013-02-21 19:27:27 -08:00
Todd Gamblin
b39165b999
Fix regression in clean.
2013-02-21 19:10:28 -08:00
Todd Gamblin
2a908d6a0e
Added help command and purge command.
2013-02-21 19:05:56 -08:00
Todd Gamblin
705447bdc2
Use tmp directory for downloading and building
2013-02-21 19:05:16 -08:00
Todd Gamblin
1c4e16afdf
Fixed bug in parallel make option.
2013-02-20 15:44:25 -08:00
Todd Gamblin
fb172bc702
Added libunwind and fixed link issues in cc.
2013-02-20 15:22:00 -08:00
Todd Gamblin
48b0351945
Fixed passing of dependence prefixes to cc. libdwarf works.
2013-02-19 19:26:54 -08:00
Todd Gamblin
d534c539d4
Fixes, remove parallel build for libdwarf due to race case.
2013-02-19 17:08:38 -08:00
Todd Gamblin
7d9d4f3484
rpaths for dependencies. elf, dwarf, cmake build on Linux
2013-02-19 01:20:50 -08:00
Todd Gamblin
5d81cfdac6
Require python2.7
2013-02-18 23:52:50 -08:00
Todd Gamblin
38becacace
Dependencies now work. Added libelf, libdwarf.
2013-02-18 23:46:04 -08:00
Todd Gamblin
cc76c0f5f9
Initial version of spack with one package: cmake
2013-02-13 17:50:44 -08:00