Age | Commit message (Collapse) | Author | Files | Lines |
|
When 'spack find' is invoked with the '--show-full-compiler' option,
the compiler flags and version are shown for each spec that is found.
|
|
This change is done to avoid inconsistencies during refactoring. The rationale is that functions at different levels in the call stack all define a default for the 'dirty' argument. This PR removes the default value for all the functions except the top-level one (`PackageBase.do_install`).
In this way not defining 'dirty' will result in an error, instead of the default value being used. This will reduce the risk of having an inconsistent behavior after a refactoring.
|
|
|
|
|
|
Ubuntu uses a YY.{04,10} release scheme, where YY.04 is not necessarily
binary-compatible with YY.10.
|
|
|
|
|
|
|
|
- "1 error found" instead of "1 errors found"
- don't print any build log context if no errors were found; just refer
the user to the build log.
|
|
|
|
* Respect --insecure when fetching list_url.
* Ensure support for Python 2.6, and that urlopen works for python versions prior 2.7.9 and between 3.0 and 3.4.3.
|
|
* expat: fix build on macOS
* nanoflann: add new package
* sundials: fix compilation on macOS with clang+gfortran
* adol-c: add 2.6.3
* dealii: add adol-c, nanoflann, sundials and 8.5.1
* sundials: minor cleanup
|
|
pkgconf is a new pkg-config implementation with additional features and
no external dependencies.
For a detailed comparison, see: http://pkgconf.org/features.html
|
|
|
|
The old testing pattern set an attribute on the parser directly. Now
that there is a parsed flag, use it instead.
|
|
This is hidden because it is only meant for use by the tests.
|
|
* Make jpeg a virtual dependency.
* Make 'libjpeg-turbo' the default implementation of 'jpeg'.
|
|
|
|
* Simplified Spec.__init__ signature by removing the *dep_like argument.
The `*dep_like` argument of `Spec.__init__` is used only for tests. This
PR removes it from the call signature and introduces an equivalent
fixture to be used in tests.
* Refactored ``spec_from_dict`` to be a static method of ``Spec``
The fixture ``spec_from_dict`` has been refactored to be a static method
of ``Spec``. Test code has been updated accordingly. Added tests for
exceptional paths.
* Renamed argument `unique` to `normal` + added LazySpecCache class
As requested in the review the argument `unique` of `Spec.from_literal`
has been renamed to `normal`. To avoid eager evaluations of
`Spec(spec_like)` expressions a subclass of `collections.defaultdict`
has been introduced.
* Spec object can be keys of the dictionary for a spec literal.
Added back the possibility use a spec directly as a key. This permits
to build DAGs that are partially normalized.
|
|
- -- source will copy source into prefix along with the package.
- added a test for --source, as well
|
|
* pgdspider: new package
* couple of fixes
|
|
Adds a development version of boost, based on their github master
repo.
Git clones the submodules forever, but installs! :)
Useful for testing since boost tends to break complex software
dependencies quite often. This helps testing it before releases.
|
|
* add test for lua and node handling in sbang patching (cf #5086)
|
|
- Update handling of ChildError so that its output is capturable from a
SpackCommand
- Update cmd/install test to make sure Python and build log output is
being displayed properly.
|
|
- install and probably other commands were designed to run once, but now
we can to test them from within Spack with SpackCommand
- cmd/install.py assumed that it could modify do_install in PackageBase
and leave it that way; this makes the decorator temporary
- package.py didn't properly initialize its stage if the same package had
been built successfully before (and the stage removed).
- manage stage lifecycle better and remember when Package needs to
re-create the stage
|
|
|
|
|
|
- If a failure comes from an external command and NOT the Python code,
display errors highlighted with some context.
- Add some rudimentary support for parsing errors out of the build log
(not very sophisticated yet).
- Build errors in Python code will still display with Python context.
|
|
|
|
It seems 8f21332fec4c8adb5349ff90e30bb0e4f75e090e introduced a bug
in that normal dictionaries are returned from ConfigScope objects
instead of OrderedDicts. This is fixed here.
|
|
|
|
Adds the latest boost release.
Downloads seem to be pointing to bintray from the official homepage.
|
|
|
|
* Package 'cdo': removed obsolete version 1.6.9.
* Package 'cdo': updated urls.
* Package 'cdo': added version 1.9.0.
* Package 'cdo': no need to specify per version urls.
* Package 'cdo': switched from Package to AutotoolsPackage.
* Package 'cdo': added new variant 'openmp'.
* Package 'cdo': variants 'curl' and 'magics' by default.
|
|
Update documentation on config file variable substitutions and
add expansion of environment variables in config files.
|
|
|
|
Users can now add an optional custom message to the conflicts directive.
Layout on screen has been changed to improve readability and the long
spec is shown in tree format. Two conflicts in `espresso` have been
modified to showcase the feature.
|
|
|
|
- Python I/O would not properly interleave (or appear) with output from
subcommands.
- Add a flusing wrapper around sys.stdout and sys.stderr when
redirecting, so that Python output is synchronous with that of
subcommands.
|
|
|
|
- 'v' toggle was previously only good for the current install.
- subsequent installs needed user to press 'v' again.
- 'v' state is now preserved across dependency installs.
|
|
- Previously we would use `os._exit()` in to avoid Spack error handling
in the parent process when build processes failed. This isn't
necessary anymore since build processes propagate their exceptions to
the parent process.
- Use `sys.exit` instead of `os._exit`. This has the advantage of
automatically flushing output streams on quit, so output from child
processes is not lost when Spack exits.
|
|
- Simplify interface to log_output. New interface requires only one
context handler instead of two. Before:
with log_output('logfile.txt') as log_redirection:
with log_redirection:
# do things ... output will be logged
After:
with log_output('logfile.txt'):
# do things ... output will be logged
If you also want the output to be echoed to ``stdout``, use the
`echo` parameter::
with log_output('logfile.txt', echo=True):
# do things ... output will be logged and printed out
And, if you just want to echo *some* stuff from the parent, use
``force_echo``:
with log_output('logfile.txt', echo=False) as logger:
# do things ... output will be logged
with logger.force_echo():
# things here will be echoed *and* logged
A key difference between this and the previous implementation is that
*everything* in the context handler is logged. Previously, things like
`Executing phase 'configure'` would not be logged, only output to the
screen, so understanding phases in the build log was difficult.
- The implementation of `log_output()` is different in two major ways:
1. This implementation avoids race cases by using only one pipe (before
we had a multiprocessing pipe and a unix pipe). The logger daemon
stops naturally when the input stream is closed, which avoids a race
in the previous implementation where we'd miss some lines of output
because the parent would shut the daemon down before it was done
with all output.
2. Instead of turning output redirection on and off, which prevented
some things from being logged, this version uses control characters
in the output stream to enable/disable forced echoing. We're using
the time-honored xon and xoff codes, which tell the daemon to echo
anything between them AND write it to the log. This is how
`logger.force_echo()` works.
- Fix places where output could get stuck in buffers by flushing more
aggressively. This makes the output printed to the terminal the same
as that which would be printed through a pipe to `cat` or to a file.
Previously these could be weirdly different, and some output would be
missing when redirecting Spack to a file or pipe.
- Simplify input and color handling in both `build_environment.fork()`
and `llnl.util.tty.log.log_output()`. Neither requires an input_stream
parameter anymore; we assume stdin will be forwarded if possible.
- remove `llnl.util.lang.duplicate_stream()` and remove associated
monkey-patching in tests, as these aren't needed if you just check
whether stdin is a tty and has a fileno attribute.
|
|
- add fail_on_error argument
- record exception and return code when the command fails
|
|
- Fix issue with color formatting regular expression.
- _separators regex in spec.py could be constructed such that '^' came
first in the character matcher, e.g. '[^@#/]'. This inverts the match
and causes transient KeyErrors.
- Fixed to escape all characters in the constructed regex.
- This bug comes up in Python3 due to its more randomized hash iteration
order, but it could probably also happen in a Python 2 implementation.
- also clean up variable docstrings in spec.py
|
|
- This should speed-up Travis CI tests and refers to #5049
- Travis uses build-stages to group tests together
- The idea is to let fast tests fail first, then move to longer ones.
- Added external perl to avoid download failure from CPAN and reduce build time
- Disabling perl-dbi: continues to fail with (504 Gateway Time-out) on Travis
- We now cover all the build systems in tests:
- Add back `openblas` to Travis as a separate package.
- Switched `openblas` for `astyle` to build a simpler MakefilePackage.
- Added 'tut' (WafPackage)
- Added 'py-setuptools' (PythonPackage)
- Added 'perl-dbi' (PerlPackage)
- Added 'build_systems' directory to the ones for which we get a summary
- Added 'openjpeg' (CMakePackage)
- Added 'r-rcpp' (RPackage)
- Added comments to build tests to show the covered build system
|
|
- Mac OS X Sierra has no /usr/include by default
- Instead of assuming there's an include directory in /usr, mock up a directory that looks like we expect.
|
|
|
|
|
|
|