diff options
author | Todd Gamblin <tgamblin@llnl.gov> | 2015-06-06 14:01:33 -0700 |
---|---|---|
committer | Todd Gamblin <tgamblin@llnl.gov> | 2015-06-06 15:26:54 -0700 |
commit | 422a75e4b85345bd517c73760430ae773d49dc00 (patch) | |
tree | f2b74d006d40e496e44f64f32218eaf1716ea083 | |
parent | 5d7a6c0c4671626fd402245fe57cec526e6365f8 (diff) | |
download | spack-422a75e4b85345bd517c73760430ae773d49dc00.tar.gz spack-422a75e4b85345bd517c73760430ae773d49dc00.tar.bz2 spack-422a75e4b85345bd517c73760430ae773d49dc00.tar.xz spack-422a75e4b85345bd517c73760430ae773d49dc00.zip |
Clean up arpack build, use the Spack f77 compiler.
-rw-r--r-- | var/spack/packages/arpack/package.py | 33 |
1 files changed, 23 insertions, 10 deletions
diff --git a/var/spack/packages/arpack/package.py b/var/spack/packages/arpack/package.py index 22781262a7..30c1b8f545 100644 --- a/var/spack/packages/arpack/package.py +++ b/var/spack/packages/arpack/package.py @@ -1,7 +1,9 @@ from spack import * class Arpack(Package): - """FIXME: put a proper description of your package here.""" + """A collection of Fortran77 subroutines designed to solve large scale + eigenvalue problems. + """ homepage = "http://www.caam.rice.edu/software/ARPACK/" url = "http://www.caam.rice.edu/software/ARPACK/SRC/arpack96.tar.gz" @@ -10,13 +12,24 @@ class Arpack(Package): depends_on('blas') depends_on('lapack') + def patch(self): + # Filter the cray makefile to make a spack one. + move('ARMAKES/ARmake.CRAY', 'ARmake.inc') + makefile = FileFilter('ARmake.inc') + + # Be sure to use Spack F77 wrapper + makefile.filter('^FC.*', 'FC = f77') + + # Set up some variables. + makefile.filter('^PLAT.*', 'PLAT = ') + makefile.filter('^home =.*', 'home = %s' % pwd()) + 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. + makefile.filter('^ARPACKLIB.*', 'ARPACKLIB = %s/lib/libarpack.a' % self.prefix) + + def install(self, spec, prefix): - move('./ARMAKES/ARmake.CRAY', './ARmake.inc') - filter_file('PLAT = CRAY', 'PLAT = ', './ARmake.inc', string=True) - filter_file('home = $(HOME)/ARPACK', 'home = %s' % pwd(), './ARmake.inc', string=True) - filter_file('BLASdir = $(home)/BLAS', 'BLASdir = %s' % spec['blas'].prefix, './ARmake.inc', string=True) - filter_file('LAPACKdir = $(home)/LAPACK', 'LAPACKdir = %s' % spec['lapack'].prefix, './ARmake.inc', string=True) - filter_file('ARPACKLIB = $(home)/libarpack_$(PLAT).a', 'ARPACKLIB = %s/lib/libarpack.a' % prefix, './ARmake.inc', string=True) - - cd('./SRC') - make('all') + with working_dir('SRC'): + make('all') |