summaryrefslogtreecommitdiff
path: root/lib
AgeCommit message (Collapse)AuthorFilesLines
2016-10-23Merge branch 'develop' of https://github.com/LLNL/spack into ↵alalazo10-65/+146
features/install_with_phases_rebase
2016-10-23spack.error : fixed pickling and representation to permit to pass FetchErrorsalalazo1-1/+12
2016-10-22spack build, spack configure : added commandsalalazo4-10/+139
2016-10-22CMakePackage : changed method name from `wdir` to `build_directory`alalazo1-8/+6
2016-10-22do_install : use build_system_class attribute instead of `type(self).__base__`alalazo1-2/+3
2016-10-22spack info : shows the build-system class usedalalazo2-2/+17
2016-10-21Don't clear LD_LIBRARY_PATH and friends from compiler wrappers (#2074)Matthew LeGendre1-7/+0
* Don't clear LD_LIBRARY_PATH and friends from compiler wrappers * remove debugging print
2016-10-22packages : moved decorators into AutotoolsPackage and CMakePackagealalazo1-0/+20
2016-10-22spack create : fixed typoalalazo1-1/+1
2016-10-21Removed space before colon in `FIXME:`, added one line description of guess ↵alalazo1-13/+13
classes
2016-10-21spack info : added phasesalalazo1-1/+8
2016-10-21Remove unnecessary blackslash for flake8Matthew LeGendre1-2/+2
2016-10-21qa : flake8 issuesalalazo1-1/+3
2016-10-21spack create : now creates packages that are derived from AutotoolsPackage ↵alalazo2-96/+155
and CMakePackage
2016-10-21Fix concretize bug where provider sort couldn't handle version rangesMatthew LeGendre1-1/+5
2016-10-21Add new Version property to handle joined version numbers (#2062)Adam J. Stewart3-17/+47
* Add new version property to handle joined version numbers * Add unit test for new joined property * Add documentation on version.up_to() and version.joined
2016-10-21patch directive : fixed retrieval from urls ( fixes #1584 ) (#2039)Massimiliano Culpo5-40/+94
* patch directive : fixed retrieval from urls fixes #1584 - add support for 'gz' archives - fixed bugs with URL patches - updated nwchem * patch directive : added checksum to UrlPatch - refactored classes in patch.py - updated nwchem * patch directive : added caching
2016-10-21CMakePackage : changed `list()` to []alalazo1-4/+1
2016-10-21do_install : removed install_self from the list of arguments (leftover ↵alalazo1-1/+0
after rebasing #1956)
2016-10-21Merge branch 'develop' of https://github.com/LLNL/spack into ↵alalazo25-237/+756
features/install_with_phases_rebase Conflicts: lib/spack/spack/cmd/install.py lib/spack/spack/cmd/setup.py
2016-10-18Don't cache truncated dag hash for spec (#2048)scheibelp1-2/+2
If Spec.dag_hash was called for the first time with a 'length' specified, the cached hash was truncated. This ensures that the full hash is cached.
2016-10-18`Package.do_install` : removed `install_self` from arguments (#1956)Massimiliano Culpo4-32/+43
* Removes the extra argument from Package.do_install while maintaining the changes in behavior pulled in #1603 * install : removed -i and -d shorthands (breaks backward compatibility) * Change ':' to ','
2016-10-18Support for bazel (#2023)Eric1-1/+10
* Add package bazel * Add support for bazel-based builds
2016-10-16Ignore GPG/PGP signatures/checksums when finding available downloads (#2028)Adam J. Stewart2-2/+11
* Ignore GPG/PGP signatures/checksums when finding available downloads * Remove duplicated basename
2016-10-15Platform-specific config scopes (#2030)Todd Gamblin3-23/+64
* Add platform-specific configuration scopes. * Update `spack config` to use the new scope arguments.
2016-10-15spack purge : updated documentation fixes #1938 (#2025)Massimiliano Culpo1-4/+9
2016-10-14Major updates to Contribution Guide (#1968)Adam J. Stewart1-127/+401
* Major updates to Contribution Guide * Grammar changes * Fix missing/extra backticks * Rewording, links, and tips added
2016-10-12Use cYAML if it is available in Python. (#2010)Todd Gamblin2-4/+11
2016-10-12Mock up Xcode devdir to make Qt5 work on Mac OS X (#1832)Ben Boeckel3-5/+102
* build_environment: allow compilers to set up an environment * clang: mock up a toolchain directory for xcode Some projects ignore CC and CXX flags and instead use xcode to find the toolchain. Clang on Apple should set up the environment properly. Arguably, every compiler could do this on Apple, but let's see how this works out just for AppleClang for now. The Documentation directory is ~1.7G and the excluded platforms add up to about 7G. Ignoring swift saves another 500M. The resulting Xcode.app copy is in the 2G range. * compiler: set member variables early This is required so that later methods can query things such as the version of the compiler. * compiler: support finding the real path of the compiler On Apple, the /usr/bin compilers are actually wrapping tools themselves which query xcrun for the currently selected Xcode installation. Pierce this veil and get the real, full path the to underlying compilers instead. * icu4c: install with rpath On macOS, icu installs with a library ID of the library name. Enabling rpath makes its ID its full installed path which lets Qt5 link against it successfully. * qt: no -no-gtkstyle flag on Qt5 on macOS
2016-10-12spack list : updated documentation (#2004)Massimiliano Culpo1-16/+7
* spack list : updated documentation * spack list : removed space before ':'
2016-10-11Documentation for modules configuration options (#1685)Glenn Johnson1-0/+35
This PR add documentation for the `suffixes` and `hash_length` options for modules.yaml. This resolves #1416.
2016-10-11Make `insecure` option work with curl AND git. (#1786)Todd Gamblin3-7/+39
2016-10-11environment modifications : permit to pass parameters along with file to be ↵Massimiliano Culpo3-3/+20
sourced (#1626)
2016-10-11qa : flake8 issuesalalazo1-2/+0
2016-10-11Merge branch 'develop' of https://github.com/LLNL/spack into ↵alalazo44-1367/+4075
features/install_with_phases_rebase Conflicts: lib/spack/spack/build_environment.py lib/spack/spack/cmd/install.py lib/spack/spack/cmd/setup.py lib/spack/spack/package.py var/spack/repos/builtin/packages/gmp/package.py var/spack/repos/builtin/packages/hdf5/package.py
2016-10-11Use python platform.system for system ID (#1499)Mario Melara2-8/+3
* Rebase and merging using platform.system Rebasing and merging using platform.system instead of uname -a. * Add missing import platform statement * Remove subprocess import Remove ununsed import subprocess to make changes flak8 compliant
2016-10-11Fix bug in `spack debug create-db-tarball`Todd Gamblin1-3/+19
- Fix a bug handling '/' characters in branch names. - Make tarballs use a descriptive name for the top-level directory, not just `opt`.
2016-10-11Roll my my own bit_length function for Python 2.6 compatibility.Todd Gamblin3-4/+11
2016-10-11Use a single lock file for stages and a single file for prefixes.Todd Gamblin5-18/+57
- Locks now use fcntl range locks on a single file. How it works for prefixes: - Each lock is a byte range lock on the nth byte of a file. - The lock file is ``spack.installed_db.prefix_lock`` -- the DB tells us what to call it and it lives alongside the install DB. n is the sys.maxsize-bit prefix of the DAG hash. For stages, we take the sha1 of the stage name and use that to select a byte to lock. With 100 concurrent builds, the likelihood of a false lock collision is ~5.36e-16, so this scheme should retain more than sufficient paralellism (with no chance of false negatives), and get us reader-writer lock semantics with a single file, so no need to clean up lots of lock files.
2016-10-11Add tests for locks with byte ranges.Todd Gamblin1-42/+150
2016-10-11Fix bug with lock upgrades.Todd Gamblin1-12/+16
- Closing and re-opening to upgrade to write will lose all existing read locks on this process. - If we didn't allow ranges, sleeping until no reads would work. - With ranges, we may never be able to take some legal write locks without invalidating all reads. e.g., if a write lock has distinct range from all reads, it should just work, but we'd have to close the file, reopen, and re-take reads. - It's easier to just check whether the file is writable in the first place and open for writing from the start. - Lock now only opens files read-only if we *can't* write them.
2016-10-11Add base32_prefix_bits function to get prefix of DAG hash as an int.Todd Gamblin2-4/+61
2016-10-11Add byte-range parameters to llnl.util.lockTodd Gamblin1-19/+40
2016-10-11Remove need to touch lock files before using.Todd Gamblin6-38/+68
- Locks will now create enclosing directories and touch the lock file automatically.
2016-10-11Make llnl.util.lock use file objects instead of low-level OS fds.Todd Gamblin2-18/+20
- Make sure we write, truncate, flush when setting PID and owning host in the file.
2016-10-11stage : try to remove dead links only of folder that you actually care aboutalalazo2-14/+44
A use case where the previous approach was failing is : - more than one spack process running on compute nodes - stage directory is a link to fast LOCAL storage In this case the processes may try to unlink something that is "dead" for them, but actually used by other processes on storage they cannot see.
2016-10-11lockfiles : creates directory for locks if not already presentalalazo1-0/+2
2016-10-11diy : removed global write lock on the dbalalazo1-34/+31
2016-10-11uninstall : removed global lockalalazo2-16/+15
2016-10-11unit tests : fixed failing testsalalazo1-1/+4