new_contents: import os
  from spack import *
  
  
  class Slepc(Package):
      """
      Scalable Library for Eigenvalue Computations.
      """
  
      homepage = "http://www.grycap.upv.es/slepc"
      url = "http://slepc.upv.es/download/download.php?filename=slepc-3.6.2.tar.gz"
  
      version('3.6.2', '2ab4311bed26ccf7771818665991b2ea3a9b15f97e29fd13911ab1293e8e65df')
  
      variant('arpack', default=False, description='Enables Arpack wrappers')
  
      depends_on('petsc')
      depends_on('arpack-ng~mpi',when='+arpack^petsc~mpi')
      depends_on('arpack-ng+mpi',when='+arpack^petsc+mpi')
  
      def install(self, spec, prefix):
          # set SLEPC_DIR for installation
          os.environ['SLEPC_DIR'] = self.stage.source_path
  
          options = []
  
          if '+arpack' in spec:
              options.extend([
                  '--with-arpack-dir=%s' % spec['arpack-ng'].prefix.lib,
              ])
              if 'arpack-ng~mpi' in spec:
                  options.extend([
                      '--with-arpack-flags=-larpack'
                  ])
              else:
                  options.extend([
                      '--with-arpack-flags=-lparpack,-larpack'
                  ])
  
          configure('--prefix=%s' % prefix, *options)
  
          make('MAKE_NP=%s' % make_jobs, parallel=False)
          #FIXME:
          # make('test')
          make('install')
  
      def setup_dependent_environment(self, spack_env, run_env, dependent_spec):
          # set up SLEPC_DIR for everyone using SLEPc package
          spack_env.set('SLEPC_DIR', self.prefix)
  
subject: add slepc package