spack/var/spack/packages/arpack/package.py

42 lines
1.3 KiB
Python
Raw Normal View History

2015-05-28 08:39:17 +08:00
from spack import *
2015-06-07 05:57:52 +08:00
import os
import shutil
2015-05-28 08:39:17 +08:00
class Arpack(Package):
"""A collection of Fortran77 subroutines designed to solve large scale
eigenvalue problems.
"""
2015-05-28 08:39:17 +08:00
homepage = "http://www.caam.rice.edu/software/ARPACK/"
url = "http://www.caam.rice.edu/software/ARPACK/SRC/arpack96.tar.gz"
version('96', 'fffaa970198b285676f4156cebc8626e')
depends_on('blas')
depends_on('lapack')
def patch(self):
# Filter the cray makefile to make a spack one.
2015-06-07 05:57:52 +08:00
shutil.move('ARMAKES/ARmake.CRAY', 'ARmake.inc')
makefile = FileFilter('ARmake.inc')
# Be sure to use Spack F77 wrapper
makefile.filter('^FC.*', 'FC = f77')
2015-06-07 05:57:52 +08:00
makefile.filter('^FFLAGS.*', 'FFLAGS = -O2 -g')
# Set up some variables.
makefile.filter('^PLAT.*', 'PLAT = ')
2015-06-07 05:57:52 +08:00
makefile.filter('^home.*', 'home = %s' % os.getcwd())
makefile.filter('^BLASdir.*', 'BLASdir = %s' % self.spec['blas'].prefix)
makefile.filter('^LAPACKdir.*', 'LAPACKdir = %s' % self.spec['lapack'].prefix)
# build the library in our own prefix.
2015-06-07 08:20:33 +08:00
makefile.filter('^ARPACKLIB.*', 'ARPACKLIB = %s/libarpack.a' % os.getcwd())
2015-05-28 08:39:17 +08:00
def install(self, spec, prefix):
with working_dir('SRC'):
make('all')
2015-06-07 08:20:33 +08:00
mkdirp(prefix.lib)
install('libarpack.a', prefix.lib)