summaryrefslogtreecommitdiff
path: root/var
diff options
context:
space:
mode:
Diffstat (limited to 'var')
-rw-r--r--var/spack/packages/ghostscript/package.py17
-rw-r--r--var/spack/packages/graphviz/package.py21
-rw-r--r--var/spack/packages/netlib-blas/package.py6
-rw-r--r--var/spack/packages/netlib-lapack/package.py (renamed from var/spack/packages/lapack/package.py)18
-rw-r--r--var/spack/packages/pkg-config/package.py17
-rw-r--r--var/spack/packages/py-numpy/package.py15
-rw-r--r--var/spack/packages/py-scipy/package.py2
-rw-r--r--var/spack/packages/stat/package.py11
8 files changed, 102 insertions, 5 deletions
diff --git a/var/spack/packages/ghostscript/package.py b/var/spack/packages/ghostscript/package.py
new file mode 100644
index 0000000000..0ab49d425f
--- /dev/null
+++ b/var/spack/packages/ghostscript/package.py
@@ -0,0 +1,17 @@
+from spack import *
+
+class Ghostscript(Package):
+ """an interpreter for the PostScript language and for PDF. """
+ homepage = "http://ghostscript.com/"
+ url = "http://downloads.ghostscript.com/public/ghostscript-9.16.tar.gz"
+
+ version('9.16', '829319325bbdb83f5c81379a8f86f38f')
+
+ parallel = False
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" %prefix, "--enable-shared")
+
+ make()
+ make("install")
+
diff --git a/var/spack/packages/graphviz/package.py b/var/spack/packages/graphviz/package.py
new file mode 100644
index 0000000000..7af7da1881
--- /dev/null
+++ b/var/spack/packages/graphviz/package.py
@@ -0,0 +1,21 @@
+from spack import *
+
+class Graphviz(Package):
+ """Graph Visualization Software"""
+ homepage = "http://www.graphviz.org"
+ url = "http://www.graphviz.org/pub/graphviz/stable/SOURCES/graphviz-2.38.0.tar.gz"
+
+ version('2.38.0', '5b6a829b2ac94efcd5fa3c223ed6d3ae')
+
+ parallel = False
+
+ depends_on("swig")
+ depends_on("python")
+ depends_on("ghostscript")
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" %prefix)
+
+ make()
+ make("install")
+
diff --git a/var/spack/packages/netlib-blas/package.py b/var/spack/packages/netlib-blas/package.py
index 0a6cdb0442..85e97323d3 100644
--- a/var/spack/packages/netlib-blas/package.py
+++ b/var/spack/packages/netlib-blas/package.py
@@ -9,6 +9,8 @@ class NetlibBlas(Package):
version('3.5.0', 'b1d3e3e425b2e44a06760ff173104bdf')
+ variant('fpic', default=False, description="Build with -fpic compiler option")
+
# virtual dependency
provides('blas')
@@ -23,6 +25,10 @@ class NetlibBlas(Package):
mf.filter('^LOADER.*', 'LOADER = f90')
mf.filter('^CC =.*', 'CC = cc')
+ if '+fpic' in self.spec:
+ mf.filter('^OPTS.*=.*', 'OPTS = -O2 -frecursive -fpic')
+ mf.filter('^CFLAGS =.*', 'CFLAGS = -O3 -fpic')
+
def install(self, spec, prefix):
make('blaslib')
diff --git a/var/spack/packages/lapack/package.py b/var/spack/packages/netlib-lapack/package.py
index d9d37e3e4a..fb6b99e27c 100644
--- a/var/spack/packages/lapack/package.py
+++ b/var/spack/packages/netlib-lapack/package.py
@@ -1,6 +1,6 @@
from spack import *
-class Lapack(Package):
+class NetlibLapack(Package):
"""
LAPACK version 3.X is a comprehensive FORTRAN library that does
linear algebra operations including matrix inversions, least
@@ -18,9 +18,16 @@ class Lapack(Package):
version('3.4.0', '02d5706ec03ba885fc246e5fa10d8c70')
version('3.3.1', 'd0d533ec9a5b74933c2a1e84eedc58b4')
+ variant('shared', default=False, description="Build shared library version")
+
+ # virtual dependency
+ provides('lapack')
+
# blas is a virtual dependency.
depends_on('blas')
+ depends_on('cmake')
+
# Doesn't always build correctly in parallel
parallel = False
@@ -39,7 +46,14 @@ class Lapack(Package):
def install(self, spec, prefix):
blas_libs = ";".join(self.get_blas_libs())
- cmake(".", '-DBLAS_LIBRARIES=' + blas_libs, *std_cmake_args)
+ cmake_args = [".", '-DBLAS_LIBRARIES=' + blas_libs]
+
+ if '+shared' in spec:
+ cmake_args.append('-DBUILD_SHARED_LIBS=ON')
+
+ cmake_args += std_cmake_args
+
+ cmake(*cmake_args)
make()
make("install")
diff --git a/var/spack/packages/pkg-config/package.py b/var/spack/packages/pkg-config/package.py
new file mode 100644
index 0000000000..9964c6ce34
--- /dev/null
+++ b/var/spack/packages/pkg-config/package.py
@@ -0,0 +1,17 @@
+from spack import *
+
+class PkgConfig(Package):
+ """pkg-config is a helper tool used when compiling applications and libraries"""
+ homepage = "http://www.freedesktop.org/wiki/Software/pkg-config/"
+ url = "http://pkgconfig.freedesktop.org/releases/pkg-config-0.28.tar.gz"
+
+ version('0.28', 'aa3c86e67551adc3ac865160e34a2a0d')
+
+ parallel = False
+
+ def install(self, spec, prefix):
+ configure("--prefix=%s" %prefix, "--enable-shared")
+
+ make()
+ make("install")
+
diff --git a/var/spack/packages/py-numpy/package.py b/var/spack/packages/py-numpy/package.py
index 6534e063d2..efa109a3e9 100644
--- a/var/spack/packages/py-numpy/package.py
+++ b/var/spack/packages/py-numpy/package.py
@@ -7,9 +7,22 @@ class PyNumpy(Package):
version('1.9.1', '78842b73560ec378142665e712ae4ad9')
version('1.9.2', 'a1ed53432dbcd256398898d35bc8e645')
-
+
extends('python')
depends_on('py-nose')
+ depends_on('netlib-blas+fpic')
+ depends_on('netlib-lapack+shared')
+
+ def patch(self):
+ filter_file(
+ "possible_executables = \['(gfortran|g77|ifort|efl)",
+ "possible_executables = ['fc",
+ "numpy/distutils/fcompiler/gnu.py",
+ "numpy/distutils/fcompiler/intel.py")
def install(self, spec, prefix):
+ with open('site.cfg', 'w') as f:
+ f.write('[DEFAULT]\n')
+ f.write('libraries=lapack,blas\n')
+ f.write('library_dirs=%s/lib:%s/lib\n' % (spec['blas'].prefix, spec['lapack'].prefix))
python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/py-scipy/package.py b/var/spack/packages/py-scipy/package.py
index cdcf74534b..3a1124cc15 100644
--- a/var/spack/packages/py-scipy/package.py
+++ b/var/spack/packages/py-scipy/package.py
@@ -11,6 +11,8 @@ class PyScipy(Package):
extends('python')
depends_on('py-nose')
depends_on('py-numpy')
+ depends_on('blas')
+ depends_on('lapack')
def install(self, spec, prefix):
python('setup.py', 'install', '--prefix=%s' % prefix)
diff --git a/var/spack/packages/stat/package.py b/var/spack/packages/stat/package.py
index c40d65ae78..5d81e62731 100644
--- a/var/spack/packages/stat/package.py
+++ b/var/spack/packages/stat/package.py
@@ -9,17 +9,20 @@ class Stat(Package):
version('2.1.0', 'ece26beaf057aa9134d62adcdda1ba91')
version('2.0.0', 'c7494210b0ba26b577171b92838e1a9b')
+ variant('dysect', default=False, description="enable DySectAPI")
+
depends_on('libelf')
depends_on('libdwarf')
depends_on('dyninst')
depends_on('graphlib')
+ depends_on('graphviz')
depends_on('launchmon')
depends_on('mrnet')
patch('configure_mpicxx.patch', when='@2.1.0')
def install(self, spec, prefix):
- configure(
+ configure_args = [
"--enable-gui",
"--prefix=%s" % prefix,
"--disable-examples", # Examples require MPI: avoid this dependency.
@@ -27,7 +30,11 @@ class Stat(Package):
"--with-mrnet=%s" % spec['mrnet'].prefix,
"--with-graphlib=%s" % spec['graphlib'].prefix,
"--with-stackwalker=%s" % spec['dyninst'].prefix,
- "--with-libdwarf=%s" % spec['libdwarf'].prefix)
+ "--with-libdwarf=%s" % spec['libdwarf'].prefix
+ ]
+ if '+dysect' in spec:
+ configure_args.append('--enable-dysectapi')
+ configure(*configure_args)
make(parallel=False)
make("install")