Skip to content
Todd Gamblin edited this page Jun 11, 2015 · 9 revisions

Participants

  • Todd Gamblin, LLNL

New Features & Contributions

Lots of updates in develop:

  1. Integrated linear algebra contributions from:
  1. New packages from Tom Scogland (PRs #55, #56, #58)
  1. Better Vim package from Tom Scogland
  • See PR #60
  • Apparently vim is way fancier than I thought.
  1. SPACK-38: Virtual dependencies should be retrievable from spec by v-dep name

    • The following now work differently:

      ```
      spec['mpi']
      spec['blas']
      ```
      
    • This can return a spec for openmpi, mpich, mvapich, etc., EVEN if the spec is already concretized. This means that in a package that depends_on('mpi'), you can do spec['mpi'] to see what it was concretized to. This should simplify MPI and BLAS packages.

      ```
      'mpi' in spec
      'blas' in spec
      ```
      
    • Previously, if the spec had been concretized, these would be False because there was not a dependency in the DAG with either of these names. These will now be True even if the spec has been concretized. So, e.g., this will print "YES"

      ```
      s = Spec('callpath ^mpich')
      if 'mpi' in spec:
          print "YES"
      ```
      
    • Similarly, this will be True:

      ```
      Spec('mpich').satisfies('mpi')
      ```
      
    • Because of the way virtual dependencies are currently implemented, the above required some fiddling around with package.py

      • figuring out what is a vdep requires loading all packages and seeing what doesn't exist.
      • Now can't ever call Spec.__contains__ (and result in endless recursion).
      • For the time being, package.py shouldn't call __contains__
    • This should be fixed by allowing virutal dependnecies to have their own package class.

      • This would allow a quicker check for vdeps, without a call to all_packages.
      • Would also allow us to put methods/variables/etc. on vdeps
  2. Added FileFilter class to make repeated calls to filter_file easier.

  • example: arpack
  • Thinking about adding a generic Makefile editor class
    • Have methods to set/unset variables in a Makefile (most common operation)

Bug Fixes

  • Fix for shell support for globbing fromTom Scogland

Issue

  • Greg Lee brought up some path length issues with Spack paths in scripts using #!
    • Install paths got a bit longer due to full hashes.
    • What's the best thing to do about this?
      1. Wrappers?
      2. Different install layout?

General questions/discussion

  • TBD
Clone this wiki locally