Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
* Don't clear LD_LIBRARY_PATH and friends from compiler wrappers
* remove debugging print
|
|
|
|
|
|
classes
|
|
|
|
|
|
|
|
and CMakePackage
|
|
|
|
* 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
|
|
* 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
|
|
|
|
after rebasing #1956)
|
|
features/install_with_phases_rebase
Conflicts:
lib/spack/spack/cmd/install.py
lib/spack/spack/cmd/setup.py
|
|
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.
|
|
* 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 ','
|
|
* Add package bazel
* Add support for bazel-based builds
|
|
* Ignore GPG/PGP signatures/checksums when finding available downloads
* Remove duplicated basename
|
|
* Add platform-specific configuration scopes.
* Update `spack config` to use the new scope arguments.
|
|
|
|
* Major updates to Contribution Guide
* Grammar changes
* Fix missing/extra backticks
* Rewording, links, and tips added
|
|
|
|
* 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
|
|
* spack list : updated documentation
* spack list : removed space before ':'
|
|
This PR add documentation for the `suffixes` and `hash_length` options
for modules.yaml.
This resolves #1416.
|
|
|
|
sourced (#1626)
|
|
|
|
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
|
|
* 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
|
|
- Fix a bug handling '/' characters in branch names.
- Make tarballs use a descriptive name for the top-level directory, not
just `opt`.
|
|
|
|
- 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.
|
|
|
|
- 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.
|
|
|
|
|
|
- Locks will now create enclosing directories and touch the lock file
automatically.
|
|
- Make sure we write, truncate, flush when setting PID and owning host in
the file.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
Fixed flake8 issues
|
|
* spack list : merged package-list into the command
* list : removed option for case sensitivity
|
|
|