Merge branch 'develop' of git://github.com/kev40293/spack into kev40293-develop

This commit is contained in:
Todd Gamblin 2015-03-04 09:23:28 -08:00
commit e23dd3e3bb
3 changed files with 145 additions and 0 deletions

View File

@ -0,0 +1,44 @@
# FIXME:
# This is a template package file for Spack. We've conveniently
# put "FIXME" labels next to all the things you'll want to change.
#
# Once you've edited all the FIXME's, delete this whole message,
# save this file, and test out your package like this:
#
# spack install atlas
#
# You can always get back here to change things with:
#
# spack edit atlas
#
# See the spack documentation for more information on building
# packages.
#
from spack import *
from spack.util.executable import Executable
import os
class Atlas(Package):
"""
Automatically Tuned Linear Algebra Software, generic shared
ATLAS is an approach for the automatic generation and optimization of
numerical software. Currently ATLAS supplies optimized versions for the
complete set of linear algebra kernels known as the Basic Linear Algebra
Subroutines (BLAS), and a subset of the linear algebra routines in the
LAPACK library.
"""
homepage = "http://math-atlas.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2"
version('3.10.2', 'a4e21f343dec8f22e7415e339f09f6da')
def install(self, spec, prefix):
with working_dir('ATLAS-Build', create=True):
self.module.configure = Executable('../configure')
configure("--prefix=%s" % prefix)
make()
make('check')
make('ptcheck')
make('time')
make("install")

View File

@ -0,0 +1,56 @@
# FIXME:
# This is a template package file for Spack. We've conveniently
# put "FIXME" labels next to all the things you'll want to change.
#
# Once you've edited all the FIXME's, delete this whole message,
# save this file, and test out your package like this:
#
# spack install atlas
#
# You can always get back here to change things with:
#
# spack edit atlas
#
# See the spack documentation for more information on building
# packages.
#
from spack import *
from spack.util.executable import Executable
import os
import urllib
class LapackAtlas(Package):
"""
Automatically Tuned Linear Algebra Software, generic shared
ATLAS is an approach for the automatic generation and optimization of
numerical software. Currently ATLAS supplies optimized versions for the
complete set of linear algebra kernels known as the Basic Linear Algebra
Subroutines (BLAS), and a subset of the linear algebra routines in the
LAPACK library.
"""
homepage = "http://math-atlas.sourceforge.net/"
url = "http://downloads.sourceforge.net/project/math-atlas/Stable/3.10.2/atlas3.10.2.tar.bz2"
version('3.10.2', 'a4e21f343dec8f22e7415e339f09f6da')
# FIXME: Add dependencies if this package requires them.
# depends_on("foo")
def install(self, spec, prefix):
#os.mkdir('ATLAS-Build')
#os.chdir('ATLAS-Build')
with working_dir('ATLAS-Build', create=True):
self.module.configure = Executable('../configure')
lapack_file = 'lapack-3.5.0.tgz'
lapack = urllib.URLopener()
lapack.retrieve('http://www.netlib.org/lapack/' + lapack_file, lapack_file)
configure("--prefix=%s" % prefix,
"--shared",
'--with-netlib-lapack-tarfile=%s' % os.getcwd() + '/' + lapack_file)
make()
make('check')
make('ptcheck')
make('time')
make("install")

View File

@ -0,0 +1,45 @@
# FIXME:
# This is a template package file for Spack. We've conveniently
# put "FIXME" labels next to all the things you'll want to change.
#
# Once you've edited all the FIXME's, delete this whole message,
# save this file, and test out your package like this:
#
# spack install lapack
#
# You can always get back here to change things with:
#
# spack edit lapack
#
# See the spack documentation for more information on building
# packages.
#
from spack import *
class Lapack(Package):
"""
LAPACK version 3.X is a comprehensive FORTRAN library that does
linear algebra operations including matrix inversions, least
squared solutions to linear sets of equations, eigenvector
analysis, singular value decomposition, etc. It is a very
comprehensive and reputable package that has found extensive
use in the scientific community.
"""
homepage = "http://www.netlib.org/lapack/"
url = "http://www.netlib.org/lapack/lapack-3.5.0.tgz"
version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
version('3.4.2', '61bf1a8a4469d4bdb7604f5897179478')
version('3.4.1', '44c3869c38c8335c2b9c2a8bb276eb55')
version('3.4.0', '02d5706ec03ba885fc246e5fa10d8c70')
version('3.3.1', 'd0d533ec9a5b74933c2a1e84eedc58b4')
depends_on('atlas')
def install(self, spec, prefix):
atlas_blas = spec['atlas'].prefix.lib + '/libf77blas.a'
atlas_lib = spec['atlas'].prefix.lib + "/libatlas.a"
cmake(".", '-DBLAS_LIBRARIES='+atlas_blas + ";" + atlas_lib, *std_cmake_args)
make()
make("install")