summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2018-02-13mixins: implemented declarative syntaxalalazo9-115/+174
Implemented a declarative syntax for the additional behavior that can get attached to classes. Implemented a function to filter compiler wrappers that uses the mechanism above.
2018-02-13Improved naming of properties and classes (per Denis comments).alalazo7-19/+21
2018-02-13Added mixins to modularize common behaviors across build-systems.alalazo8-119/+144
Modifications: * added a mixin to filter compiler wrappers from files * modified hdf5, openmpi, mpich, mvapich2 to use it
2018-02-13FFTW: expose optimization handles via variants (SIMD + FMA) (#7038)Massimiliano Culpo1-6/+20
2018-02-12Rework command reference in docs, add `spack commands` commandTodd Gamblin7-20/+459
- command reference now includes usage for all Spack commands as output by `spack help`. Each command usage links to any related section in the docs. - added `spack commands` command which can list command names, subcommands, and generate RST docs for commands. - added `llnl.util.argparsewriter`, which analyzes an argparse parser and calls hooks for description, usage, options, and subcommands
2018-02-12Fix issues with `spack [cmd] -h` help outputTodd Gamblin2-13/+40
- Shorten Spack command usage for short options. Short options are now shown as [-abc] instead of as [-a] [-b] [-c] - fix bug that mixed long and short options for top-level `spack help`
2018-02-12Fix section labels for some commands in the docsTodd Gamblin2-7/+7
2018-02-12make defaults in command help look like standard argparseTodd Gamblin5-7/+7
2018-02-12Add help for buildcache, reorganize command help categoriesTodd Gamblin5-10/+15
- Add proper help for `spack buildcache` subcommands - Reorganize the help categories of Spack commands so that buildcache is in packaging and diy and setup are now in build.
2018-02-12Clean up help metavar for --scope configuration optionsTodd Gamblin6-14/+32
- previously commands with this argument showed a long list of choices that were platform specific. - use a better metavar: {defaults,system,site,user}[/PLATFORM]
2018-02-12new package: Glfmultiples (#7055)Levi Baber1-0/+49
2018-02-12grackle package: add float option (#7196)Loikki1-0/+4
2018-02-12fluxbox lightweight window manager (#7169)Luigi Calori1-0/+46
2018-02-12RAJA package: add versions and CUDA/openmp support (#7201)David Beckingsale1-1/+29
2018-02-12updates to conduit and ascent packages (#7040)Cyrus Harrison2-10/+18
* Remove variants disabling blas and lapack for py-numpy, issues building these have been resolved * For CMake greater than 3.10, FindMPI changed, so use MPIEXE_EXECUTABLE instead of MPIEXE for 3.10 and newer
2018-02-12Use python3.6 to test building docs (#7218)Massimiliano Culpo1-1/+1
I think the main issue here is that we ship a custom version of a system library (`argparse`), and this is prone to fail if `argparse` is imported before we hack `sys.path` internally. Probably a better solution would be not to customize argparse, but instead have a wrapper on top of whatever the system provides.
2018-02-11Set a default python that is consistent with the libraries in PYTHONHOME (#7157)Massimiliano Culpo1-0/+5
fixes #7128 Before this PR packages that were indirectly dependent on python might have failed due to inconsistency between the python found in the environment and the standard libraries set in PYTHONHOME
2018-02-11shortbred: Create new package (#7210)Eric1-0/+51
2018-02-11glimmer: Create new package (#7208)Eric1-0/+43
2018-02-11xtensor-python (#7217)Axel Huebl1-0/+56
pybind11 bindings for seamlessly using xtensor in python
2018-02-11pybind11: 2.2.[1,2] & develop (#7216)Axel Huebl1-0/+4
Add the latest release of `pybind11` and its `develop` version.
2018-02-11Xtensor 0.15.1 (#7215)Axel Huebl3-4/+8
Add the latest xtensor release and its dependencies.
2018-02-09new package: diffsplice (#7187)Eric1-0/+41
2018-02-09hpgmg package: add debug option and new version (#7175)Jed Brown1-3/+13
This adds a static version of hpgmg (up to now only the latest commit from the master branch was available). This also adds a debug variant and sets optimization flags for ~debug when the compiler is gcc, intel, or clang
2018-02-09petsc: use spack-built python for configure (#7176)Jed Brown1-1/+1
Make sure to use Spack-built python to run petsc configure script (in particular since petsc requires python@2.6:2.8)
2018-02-09xbraid@2.2.0: new package (#7205)Geoffrey Oxberry1-0/+68
2018-02-09git-imerge@1.1.0: new package (#7203)Geoffrey Oxberry1-0/+62
2018-02-09py-checkm-genome: Create new package (#7200)Eric1-0/+43
2018-02-09fix petsc int64 metis dependencies (#7195)David Gardner1-4/+7
2018-02-09libSplash: 1.7.0 (#7199)Axel Huebl1-2/+18
Adds the latest release of libSplash (1.7.0) and newly learned CMake flags for explicit dependency control. Modifies HDF5 dependency: non-MPI splash does (and did) never run with a parallel HDF5, due to it's internal cross-dependencies on MPI.
2018-02-08comd: more sane default (#7046)Christoph Junghans1-1/+1
Avoid useless deps.
2018-02-07Change location of public key in basic tutorial (#7192)v0.11.2becker331-5/+5
* Change location of public key in basic tutorial * Change tuturial version number to 11.2
2018-02-06LIBXSMM 1.8.3 (#7183)Hans Pabst1-1/+2
2018-02-06samblaster: Create new package (#7188)Eric1-0/+40
2018-02-06py-localcider: Create new package (#7189)Eric1-0/+39
2018-02-06oclint: new package (#7076)Geoffrey Oxberry2-0/+99
2018-02-05angsd: new version, and conflict for newer htslib with old version (#7122)Levi Baber1-0/+2
2018-02-04Update fish url for fish 2.7.1 (#7089)Mark Meredith1-1/+2
2018-02-03Update Nek5000 package to Version 17 (#7178)Thilina Rathnayake1-14/+12
and minor polishing
2018-02-03highfive: Update to version 1.5 (#7041)Erik Schnetter1-0/+1
2018-02-03A new package: libcroco. (#7154)健美猫1-0/+37
2018-02-03macOS Fix for GDAL (#7155)Elizabeth Fischer1-6/+11
2018-02-03clingo@5.2.2: new package (#7091)Geoffrey Oxberry1-0/+54
2018-02-03stringtie: add version 1.3.4a (#7164)Eric1-0/+1
2018-02-02Fix ignore-conflicts for extensions in views (#7167)healther3-9/+28
Fixes #7159 When activating extensions in external views, the --ignore-conflicts option was being ignored. In this particular issue the conflict was for the duplicate __init__ file for multiple python packages in the same namespace, but in general any conflict for extensions would cause an error whether or not --ignore-conflicts was set. This also renames the 'force' option of do_activate to 'with_dependencies' and updates views to call do_activate with this set to False (since it traverses the dependency dag anyway). This isn't strictly required, it just avoids redundant calls.
2018-02-02new package: perl-exporter-tiny (#7030)Eric1-0/+35
2018-02-01Update tutorial on advanced packaging (#7144)scheibelp1-278/+227
This reorganizes most sections and rewords a significant portion of the content (including all introductions) but keeps all the examples. * Remove section 'What happens at subscript time' from tutorial: it is too detailed for a tutorial * Move the 'Extra query parameters' and 'Attach attributes to other packages' sections into a separate grouping 'Other packaging topics' * move the 'Set variables at build time yourself' section after 'Set environment variables in dependents' section since the latter is more motivating * start the 'set environment variables at build-time for yourself' section with qt as an example * renamed section 'specs build interface' to 'retrieving library information' and updated section introduction * renamed section 'a motivating example' to 'accessing library dependencies'; split out the material which deals with implementing .libs for netlib-lapack into a separate section called 'providing libraries to dependents'. consolidated in material from the section 'single package providing multiple virtual specs' since netlib-lapack is an example of this (this removes the material about intel-parallel studio)
2018-02-01Efficient array of booleans, C extension (#7135)Feiyi Wang1-0/+37
2018-01-31Improve log parsing performance (#7093)Todd Gamblin6-96/+408
* Allow dashes in command names and fix command name handling - Command should allow dashes in their names like the reest of spack, e.g. `spack log-parse` - It might be too late for `spack build-cache` (since it is already called `spack buildcache`), but we should try a bit to avoid inconsistencies in naming conventions - The code was inconsistent about where commands should be called by their python module name (e.g. `log_parse`) and where the actual command name should be used (e.g. `log-parse`). - This made it hard to make a command with a dash in the name, and it made `SpackCommand` fail to recognize commands with dashes. - The code now uses the user-facing name with dashes for function parameters, then converts that the module name when needed. * Improve performance of log parsing - A number of regular expressions from ctest_log_parser have really poor performance, most due to untethered expressions with * or + (i.e., they don't start with ^, so the repetition has to be checked for every position in the string with Python's backtracking regex implementation) - I can't verify that CTest's regexes work with an added ^, so I don't really want to touch them. I tried adding this and found that it caused some tests to break. - Instead of using only "efficient" regular expressions, Added a prefilter() class that allows the parser to quickly check a precondition before evaluating any of the expensive regexes. - Preconditions do things like check whether the string contains "error" or "warning" (linear time things) before evaluating regexes that would require them. It's sad that Python doesn't use Thompson string matching (see https://swtch.com/~rsc/regexp/regexp1.html) - Even with Python's slow implementation, this makes the parser ~200x faster on the input we tried it on. * Add `spack log-parse` command and improve the display of parsed logs - Add better coloring and line wrapping to the log parse output. This makes nasty build output look better with the line numbers. - `spack log-parse` allows the log parsing logic used at the end of builds to be executed on arbitrary files, which is handy even outside of spack. - Also provides a profile option -- we can profile arbitrary files and show which regular expressions in the magic CTest parser take the most time. * Parallelize log parsing - Log parsing now uses multiple threads for long logs - Lines from logs are divided into chnks and farmed out to <ncpus> - Add -j option to `spack log-parse`
2018-01-31lz4 platform=darwin: fix dylib name (#7112)Geoffrey Oxberry1-0/+6