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