summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
authorTodd Gamblin <tgamblin@llnl.gov>2015-06-06 14:01:33 -0700
committerTodd Gamblin <tgamblin@llnl.gov>2015-06-06 15:26:54 -0700
commit422a75e4b85345bd517c73760430ae773d49dc00 (patch)
treef2b74d006d40e496e44f64f32218eaf1716ea083 /var
parent5d7a6c0c4671626fd402245fe57cec526e6365f8 (diff)
downloadspack-422a75e4b85345bd517c73760430ae773d49dc00.tar.gz
spack-422a75e4b85345bd517c73760430ae773d49dc00.tar.bz2
spack-422a75e4b85345bd517c73760430ae773d49dc00.tar.xz
spack-422a75e4b85345bd517c73760430ae773d49dc00.zip
Clean up arpack build, use the Spack f77 compiler.
Diffstat (limited to 'var')
-rw-r--r--var/spack/packages/arpack/package.py33
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')