summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
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
2018-01-31libdwarf: fix linking, fix build on Darwin (#7124)Geoffrey Oxberry1-3/+31
* libdwarf: fix linker flags * libdwarf: fix header install names * libdwarf: add zlib dependency Prior to this commit, libdwarf was linked to the system zlib. This commit links it to spack-installed zlib. * libdwarf: fix dynamic library suffix for Darwin
2018-01-31symlink python3 to python (#7103)healther1-0/+6
* symlink python3 to python * otherwise not all autotools are smart enough * Update package.py
2018-01-31Added osu-micro-benchmarks@5.4 (#7149)sknigh1-0/+1
2018-01-31Adding support for the Accelerate library on OS X (#7068)Brian Van Essen1-2/+7
* Adding support for the Accelerate library on OS X * Fixed guard on variable and added another depends_on statement to make sure that openblas gets selected even when openmp_blas variant is not turned on.
2018-01-31fr-hit: Create new package (#7132)Eric2-0/+72
2018-01-31Protobuf fix (#7110)Brian Van Essen1-0/+8
* Fixed a bug where when using shared libraries OS X does not set the RPATH correctly
2018-01-31LBANN OS X (#7105)Brian Van Essen3-1/+34
* Added a package for the MDAnalysis toolkit. * Added some flags to fix the build RPATHs and OpenMP for LBANN on OS X. * Fixed Hydrogen branch of Elemental to find OpenMP on OS X.
2018-01-31py-setuptools-git: Create new package (#7131)Eric1-0/+37
2018-01-31PNGwriter: 0.7.0 (#7026)Axel Huebl1-0/+10
Adds the latest release of PNGwriter, including Windows and CMake config package support.
2018-01-31Added v1.4.2 to libfabric package (#7053)sknigh1-0/+1
2018-01-31abyss: added missing libtool dependency (#7054)Levi Baber1-0/+1
2018-01-31openPMD-validator (#7064)Axel Huebl1-0/+42
Adds the new package for openPMD validator tools.
2018-01-31ocaml@4.06.0: new version (#7078)Geoffrey Oxberry1-1/+6
2018-01-31re2c@1.0.3: new package (#7092)Geoffrey Oxberry1-0/+39
2018-01-31opam: new package (#7079)Geoffrey Oxberry1-0/+53
2018-01-31bmake@20171207: new package (#7099)Geoffrey Oxberry1-0/+51
2018-01-31gcc: add version 7.3.0 (#7097)Geoffrey Oxberry1-0/+1
2018-01-31lz4@1.8.1.2: new version (#7111)Geoffrey Oxberry1-0/+1
2018-01-31libarchive@3.3.2: new version (#7113)Geoffrey Oxberry1-0/+1
2018-01-31rtags: add 2.17 and for now comment-out 2.12 (#7126)Denis Davydov1-2/+3
2018-01-31maq: Create new package. (#7133)lingnanyuan1-0/+39
2018-01-29rna-seqc package: JAVA_{ARGS,OPTS} for helper script (#6972)Eric1-1/+1
2018-01-29Mark slow unit tests (#6994)Massimiliano Culpo16-72/+193
* Marking database tests as slow * Marking url command tests as slow * Marking every test that uses database as slow * Marking tests that import files as slow * Marking gpg tests as slow * Marking all versions and one list tests as slow * Added more markers to unit tests + cli option to skip slow tests Following a discussion with Axel, the generic 'slowtest' marker has been split into 'db', 'network' and 'maybeslow'. A brief description of the meaning of each marker has been added to pytest.ini. A command line option to run only fast tests has been added to 'spack test' * Don't use classes to group tests together Reverted grouping tests under a class, as required in the review * Minor style changes
2018-01-28Remove Package instance caching in Repo (#6367)scheibelp9-60/+27
This attempts to address one of the complaints at #5996 (comment): > Repo currently caches package instances by Spec, and those Package instances have a Spec. > This is unnecessary and causes confusion. I think I thought that we'd need to cache instances > after loading package classes, but really just caching the classes is fine. With this update, Repo's package cache is removed and Specs cache the package reference themselves. One consequence is that Specs which compare as equal will store separate instances of a Package class (not doing this creates issues for #4595 (comment)). There were several references to Spec.package that could be replaced with Spec.package_class without any additional modifications. There are still a couple remaining references to Spec.package in Spec that would require adding functionality before replacing (e.g. calling Package.provides and Package.installed). Note this makes it difficult to mock fetchers for tests which invokes code that reconstructs specs. test_packaging was one example of this where the updates caused a failure (in that case the error was avoided by not making an unnecessary call). Details: * Replace instances of spec.package with spec.package_class where a class method is being called * Remove instances of Repo.get where Spec.package_class can be used in its place * remove Repo.get caching instances of Package class for specs * remove redundant check (which is also incorrect now that each spec stores its own copy of its package) * avoid creating mirror with specs because it copies specs and those copies dont refer to the mocked fetcher (and it is also not required for the test) * remove checks that are no longer necessary since repo doesn't cache specs
2018-01-28Fix gfortran 7 detection (#7017)Adam J. Stewart4-7/+44
2018-01-28Cleaned up JUnit report generation on install (#6977)Massimiliano Culpo5-226/+477
* Cleaned up JUnit report generation on install The generation of a JUnit report was previously part of the install command. This commit factors the logic into its own module, and uses a template for the generation of the report. It also improves report generation, that now can deal with multiple specs installed at once. Finally, extending the list of supported formats is much easier than before, as it entails just writing a new template. * Polished report generation + added tests for failures and errors The generation of a JUnit report has been polished, so that the stacktrace is correctly displayed with Jenkins JUnit plugin. Standard error is still not used. Added unit tests to cover for installation failures and installation errors.
2018-01-28libtool, binutils: fix darwin linking (#7073)Geoffrey Oxberry2-7/+12
* libtool: fix linking of libtool on darwin * binutils, libtool: fix conflicts w/ BSD tools, v2 Fix namespace conflicts with BSD tools in a more elegant fashion, using a program prefix, similar to Homebrew.
2018-01-26Tell R's configure about tcltk config (#7085)George Hartzell1-1/+6
* Tell R's configure about tcltk config Add configure arguments that specify the location of the tcl and tk config scripts. Fixes #7072 * Flake8 cleanup
2018-01-26new package: essl (#6335)Brian Van Essen2-2/+106
Added support for the IBM ESSL math library.Updated Elemental to be able to build with ESSL.
2018-01-26Bzip2 now uses 'spack_cc' as a compiler, instead of plain 'cc' (#7074)Massimiliano Culpo1-2/+4
Looking at build logs, it seems that prior to this commit bzip2 was using 'cc', and relying on the PATH to be set correctly to find Spack wrappers. This commit improves the robustness of the recipe, by using the absolute path of the wrapper.
2018-01-26Enable install of multiple specs from yaml files (#6984)Federico Ficarelli2-21/+52
2018-01-25Protobuf package: allow building shared library (#7067)Brian Van Essen1-0/+4
This adds a +shared variant for building shared libraries in the protobuf package and enables it by default.
2018-01-25Lbann package: bug fix (#7066)Brian Van Essen1-2/+2
Fixed a bug in the guard on cub functionality. Reduced the requirements on hwloc to make it simpler to build on Power systems.
2018-01-25Python Installs: No User Site Dir (#7065)Axel Huebl1-3/+3
Avoid adding an "outside" (local home's) python user site directory during python package installs. Implements #6611 Fixes packages with auto-find side effects such as `py-setuptools` that cause `py-matplotlib` to fail to build #6558
2018-01-24libtool: symlink libtool{ize} to glibtool{ize} (#7060)Geoffrey Oxberry1-3/+19
On Darwin and other BSD systems, the system 'libtool' and 'libtoolize' are BSD libtool and libtoolize, respectively. Some build systems require the GNU versions of these commands, so BSD package systems tend to name the GNU versions 'glibtool' and 'glibtoolize', respectively, to avoid namespace collisions. A problem with the current libtool package is that it installs the GNU libtool commands as 'libtool' and 'libtoolize', respectively, but build systems on BSD platforms will attempt to run 'glibtool' and 'glibtoolize'. The expedient solution to this problem is to symlink 'libtool' to 'glibtool' and 'libtoolize' to 'glibtoolize', because attempting to patch the detection logic one build system at a time seems impractical.
2018-01-24netlib-xblas 1.0.248: new package (#7024)Geoffrey Oxberry2-0/+100
* netlib-xblas@1.0.248: new package * netlib-lapack: add xblas option
2018-01-23Lbann update (#6987)Brian Van Essen2-18/+57
* Added new link line flag * Refactored some of the common components out of the different version's build commands. Also corrected the when commands to properly capture non-numeric names such as local. * Added support to the Elemental package for the Hydrogen branch.
2018-01-23Fix gtkplus build by hardcoding X11 support (#6971)Federico Ficarelli7-16/+14
* Fix gtkplus build by hardcoding X11 support * Remove +X variant from gtkplus dependents
2018-01-23Fix +readline handling (#7048)Federico Ficarelli1-4/+2
2018-01-23argp-standalone@1.3: new package (#7014)Geoffrey Oxberry2-0/+61
Adds a package for the standalone version of the argp argument parsing interface from glibc for unix-style command options.
2018-01-23Fix error message typo in 'spack create' cmd (#7042)Alastair Harrison1-1/+1
- Previously would print the spec's namespace twice, rather than printing the spec's namespace, followed by the repo's namespace.
2018-01-23new package: gslib (#6328)Thilina Rathnayake1-0/+90