Merge branch 'develop' of https://github.com/scalability-llnl/spack into issues/gcc
Conflicts: var/spack/packages/gcc/package.py GCC : removed dependency on libelf. Removed isl variant
This commit is contained in:
commit
f475ec4ce6
22
README.md
22
README.md
@ -1,5 +1,5 @@
|
|||||||
Spack
|

|
||||||
===========
|
============
|
||||||
|
|
||||||
Spack is a package management tool designed to support multiple
|
Spack is a package management tool designed to support multiple
|
||||||
versions and configurations of software on a wide variety of platforms
|
versions and configurations of software on a wide variety of platforms
|
||||||
@ -13,7 +13,7 @@ can coexist on the same system.
|
|||||||
Most importantly, Spack is simple. It offers a simple spec syntax so
|
Most importantly, Spack is simple. It offers a simple spec syntax so
|
||||||
that users can specify versions and configuration options
|
that users can specify versions and configuration options
|
||||||
concisely. Spack is also simple for package authors: package files are
|
concisely. Spack is also simple for package authors: package files are
|
||||||
writtin in pure Python, and specs allow package authors to write a
|
written in pure Python, and specs allow package authors to write a
|
||||||
single build script for many different builds of the same package.
|
single build script for many different builds of the same package.
|
||||||
|
|
||||||
See the
|
See the
|
||||||
@ -62,21 +62,9 @@ latest stable release.
|
|||||||
|
|
||||||
Authors
|
Authors
|
||||||
----------------
|
----------------
|
||||||
Spack was written by Todd Gamblin, tgamblin@llnl.gov.
|
Many thanks go to Spack's [contributors](https://github.com/scalability-llnl/spack/graphs/contributors).
|
||||||
|
|
||||||
Significant contributions were also made by:
|
Spack was originally written by Todd Gamblin, tgamblin@llnl.gov.
|
||||||
|
|
||||||
* David Beckingsale
|
|
||||||
* David Boehme
|
|
||||||
* Alfredo Gimenez
|
|
||||||
* Luc Jaulmes
|
|
||||||
* Matt Legendre
|
|
||||||
* Greg Lee
|
|
||||||
* Adam Moody
|
|
||||||
* Saravan Pantham
|
|
||||||
* Joachim Protze
|
|
||||||
* Bob Robey
|
|
||||||
* Justin Too
|
|
||||||
|
|
||||||
Release
|
Release
|
||||||
----------------
|
----------------
|
||||||
|
@ -118,7 +118,7 @@ def main():
|
|||||||
|
|
||||||
# If the user asked for it, don't check ssl certs.
|
# If the user asked for it, don't check ssl certs.
|
||||||
if args.insecure:
|
if args.insecure:
|
||||||
tty.warn("You asked for --insecure, which does not check SSL certificates or checksums.")
|
tty.warn("You asked for --insecure, which does not check SSL certificates.")
|
||||||
spack.curl.add_default_arg('-k')
|
spack.curl.add_default_arg('-k')
|
||||||
|
|
||||||
# Try to load the particular command asked for and run it
|
# Try to load the particular command asked for and run it
|
||||||
|
@ -149,7 +149,7 @@
|
|||||||
# Theme options are theme-specific and customize the look and feel of a theme
|
# Theme options are theme-specific and customize the look and feel of a theme
|
||||||
# further. For a list of options available for each theme, see the
|
# further. For a list of options available for each theme, see the
|
||||||
# documentation.
|
# documentation.
|
||||||
#html_theme_options = [('show_copyright', False)]
|
html_theme_options = { 'logo_only' : True }
|
||||||
|
|
||||||
# Add any paths that contain custom themes here, relative to this directory.
|
# Add any paths that contain custom themes here, relative to this directory.
|
||||||
html_theme_path = ["_themes"]
|
html_theme_path = ["_themes"]
|
||||||
@ -163,12 +163,12 @@
|
|||||||
|
|
||||||
# The name of an image file (relative to this directory) to place at the top
|
# The name of an image file (relative to this directory) to place at the top
|
||||||
# of the sidebar.
|
# of the sidebar.
|
||||||
#html_logo = None
|
html_logo = '../../../share/spack/logo/spack-logo-white-text-48.png'
|
||||||
|
|
||||||
# The name of an image file (within the static path) to use as favicon of the
|
# The name of an image file (within the static path) to use as favicon of the
|
||||||
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
# docs. This file should be a Windows icon file (.ico) being 16x16 or 32x32
|
||||||
# pixels large.
|
# pixels large.
|
||||||
#html_favicon = None
|
html_favicon = '../../../share/spack/logo/favicon.ico'
|
||||||
|
|
||||||
# Add any paths that contain custom static files (such as style sheets) here,
|
# Add any paths that contain custom static files (such as style sheets) here,
|
||||||
# relative to this directory. They are copied after the builtin static files,
|
# relative to this directory. They are copied after the builtin static files,
|
||||||
|
@ -33,8 +33,7 @@
|
|||||||
from StringIO import StringIO
|
from StringIO import StringIO
|
||||||
|
|
||||||
from llnl.util.tty import terminal_size
|
from llnl.util.tty import terminal_size
|
||||||
from llnl.util.tty.color import clen
|
from llnl.util.tty.color import clen, cextra
|
||||||
|
|
||||||
|
|
||||||
class ColumnConfig:
|
class ColumnConfig:
|
||||||
def __init__(self, cols):
|
def __init__(self, cols):
|
||||||
@ -42,7 +41,6 @@ def __init__(self, cols):
|
|||||||
self.line_length = 0
|
self.line_length = 0
|
||||||
self.valid = True
|
self.valid = True
|
||||||
self.widths = [0] * cols # does not include ansi colors
|
self.widths = [0] * cols # does not include ansi colors
|
||||||
self.cwidths = [0] * cols # includes ansi colors
|
|
||||||
|
|
||||||
def __repr__(self):
|
def __repr__(self):
|
||||||
attrs = [(a,getattr(self, a)) for a in dir(self) if not a.startswith("__")]
|
attrs = [(a,getattr(self, a)) for a in dir(self) if not a.startswith("__")]
|
||||||
@ -66,8 +64,6 @@ def config_variable_cols(elts, console_width, padding, cols=0):
|
|||||||
# Get a bound on the most columns we could possibly have.
|
# Get a bound on the most columns we could possibly have.
|
||||||
# 'clen' ignores length of ansi color sequences.
|
# 'clen' ignores length of ansi color sequences.
|
||||||
lengths = [clen(e) for e in elts]
|
lengths = [clen(e) for e in elts]
|
||||||
clengths = [len(e) for e in elts]
|
|
||||||
|
|
||||||
max_cols = max(1, console_width / (min(lengths) + padding))
|
max_cols = max(1, console_width / (min(lengths) + padding))
|
||||||
max_cols = min(len(elts), max_cols)
|
max_cols = min(len(elts), max_cols)
|
||||||
|
|
||||||
@ -85,7 +81,6 @@ def config_variable_cols(elts, console_width, padding, cols=0):
|
|||||||
if conf.widths[col] < (length + p):
|
if conf.widths[col] < (length + p):
|
||||||
conf.line_length += length + p - conf.widths[col]
|
conf.line_length += length + p - conf.widths[col]
|
||||||
conf.widths[col] = length + p
|
conf.widths[col] = length + p
|
||||||
conf.cwidths[col] = clengths[i] + p
|
|
||||||
conf.valid = (conf.line_length < console_width)
|
conf.valid = (conf.line_length < console_width)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -118,7 +113,6 @@ def config_uniform_cols(elts, console_width, padding, cols=0):
|
|||||||
|
|
||||||
config = ColumnConfig(cols)
|
config = ColumnConfig(cols)
|
||||||
config.widths = [max_len] * cols
|
config.widths = [max_len] * cols
|
||||||
config.cwidths = [max_clen] * cols
|
|
||||||
|
|
||||||
return config
|
return config
|
||||||
|
|
||||||
@ -147,9 +141,6 @@ def colify(elts, **options):
|
|||||||
method=<string> Method to use to fit columns. Options are variable or uniform.
|
method=<string> Method to use to fit columns. Options are variable or uniform.
|
||||||
Variable-width columns are tighter, uniform columns are all the
|
Variable-width columns are tighter, uniform columns are all the
|
||||||
same width and fit less data on the screen.
|
same width and fit less data on the screen.
|
||||||
|
|
||||||
len=<func> Function to use for calculating string length.
|
|
||||||
Useful for ignoring ansi color. Default is 'len'.
|
|
||||||
"""
|
"""
|
||||||
# Get keyword arguments or set defaults
|
# Get keyword arguments or set defaults
|
||||||
cols = options.pop("cols", 0)
|
cols = options.pop("cols", 0)
|
||||||
@ -199,9 +190,6 @@ def colify(elts, **options):
|
|||||||
raise ValueError("method must be one of: " + allowed_methods)
|
raise ValueError("method must be one of: " + allowed_methods)
|
||||||
|
|
||||||
cols = config.cols
|
cols = config.cols
|
||||||
formats = ["%%-%ds" % width for width in config.cwidths[:-1]]
|
|
||||||
formats.append("%s") # last column has no trailing space
|
|
||||||
|
|
||||||
rows = (len(elts) + cols - 1) / cols
|
rows = (len(elts) + cols - 1) / cols
|
||||||
rows_last_col = len(elts) % rows
|
rows_last_col = len(elts) % rows
|
||||||
|
|
||||||
@ -209,7 +197,9 @@ def colify(elts, **options):
|
|||||||
output.write(" " * indent)
|
output.write(" " * indent)
|
||||||
for col in xrange(cols):
|
for col in xrange(cols):
|
||||||
elt = col * rows + row
|
elt = col * rows + row
|
||||||
output.write(formats[col] % elts[elt])
|
width = config.widths[col] + cextra(elts[elt])
|
||||||
|
fmt = '%%-%ds' % width
|
||||||
|
output.write(fmt % elts[elt])
|
||||||
|
|
||||||
output.write("\n")
|
output.write("\n")
|
||||||
row += 1
|
row += 1
|
||||||
|
@ -158,6 +158,11 @@ def clen(string):
|
|||||||
return len(re.sub(r'\033[^m]*m', '', string))
|
return len(re.sub(r'\033[^m]*m', '', string))
|
||||||
|
|
||||||
|
|
||||||
|
def cextra(string):
|
||||||
|
""""Length of extra color characters in a string"""
|
||||||
|
return len(''.join(re.findall(r'\033[^m]*m', string)))
|
||||||
|
|
||||||
|
|
||||||
def cwrite(string, stream=sys.stdout, color=None):
|
def cwrite(string, stream=sys.stdout, color=None):
|
||||||
"""Replace all color expressions in string with ANSI control
|
"""Replace all color expressions in string with ANSI control
|
||||||
codes and write the result to the stream. If color is
|
codes and write the result to the stream. If color is
|
||||||
|
@ -27,24 +27,26 @@
|
|||||||
from llnl.util.filesystem import *
|
from llnl.util.filesystem import *
|
||||||
|
|
||||||
# This lives in $prefix/lib/spack/spack/__file__
|
# This lives in $prefix/lib/spack/spack/__file__
|
||||||
prefix = ancestor(__file__, 4)
|
spack_root = ancestor(__file__, 4)
|
||||||
|
|
||||||
# The spack script itself
|
# The spack script itself
|
||||||
spack_file = join_path(prefix, "bin", "spack")
|
spack_file = join_path(spack_root, "bin", "spack")
|
||||||
|
|
||||||
# spack directory hierarchy
|
# spack directory hierarchy
|
||||||
etc_path = join_path(prefix, "etc")
|
lib_path = join_path(spack_root, "lib", "spack")
|
||||||
lib_path = join_path(prefix, "lib", "spack")
|
|
||||||
build_env_path = join_path(lib_path, "env")
|
build_env_path = join_path(lib_path, "env")
|
||||||
module_path = join_path(lib_path, "spack")
|
module_path = join_path(lib_path, "spack")
|
||||||
compilers_path = join_path(module_path, "compilers")
|
compilers_path = join_path(module_path, "compilers")
|
||||||
test_path = join_path(module_path, "test")
|
test_path = join_path(module_path, "test")
|
||||||
hooks_path = join_path(module_path, "hooks")
|
hooks_path = join_path(module_path, "hooks")
|
||||||
var_path = join_path(prefix, "var", "spack")
|
var_path = join_path(spack_root, "var", "spack")
|
||||||
stage_path = join_path(var_path, "stage")
|
stage_path = join_path(var_path, "stage")
|
||||||
|
share_path = join_path(spack_root, "share", "spack")
|
||||||
|
|
||||||
|
prefix = spack_root
|
||||||
opt_path = join_path(prefix, "opt")
|
opt_path = join_path(prefix, "opt")
|
||||||
install_path = join_path(opt_path, "spack")
|
install_path = join_path(opt_path, "spack")
|
||||||
share_path = join_path(prefix, "share", "spack")
|
etc_path = join_path(prefix, "etc")
|
||||||
|
|
||||||
#
|
#
|
||||||
# Set up the packages database.
|
# Set up the packages database.
|
||||||
|
@ -65,11 +65,21 @@ def print_text_info(pkg):
|
|||||||
print "None"
|
print "None"
|
||||||
else:
|
else:
|
||||||
pad = padder(pkg.variants, 4)
|
pad = padder(pkg.variants, 4)
|
||||||
|
|
||||||
|
maxv = max(len(v) for v in sorted(pkg.variants))
|
||||||
|
fmt = "%%-%ss%%-10s%%s" % (maxv + 4)
|
||||||
|
|
||||||
|
print " " + fmt % ('Name', 'Default', 'Description')
|
||||||
|
print
|
||||||
for name in sorted(pkg.variants):
|
for name in sorted(pkg.variants):
|
||||||
v = pkg.variants[name]
|
v = pkg.variants[name]
|
||||||
print " %s%s" % (
|
default = 'on' if v.default else 'off'
|
||||||
pad(('+' if v.default else '-') + name + ':'),
|
|
||||||
"\n".join(textwrap.wrap(v.description)))
|
lines = textwrap.wrap(v.description)
|
||||||
|
lines[1:] = [" " + (" " * maxv) + l for l in lines[1:]]
|
||||||
|
desc = "\n".join(lines)
|
||||||
|
|
||||||
|
print " " + fmt % (name, default, desc)
|
||||||
|
|
||||||
print
|
print
|
||||||
print "Dependencies:"
|
print "Dependencies:"
|
||||||
|
@ -187,14 +187,9 @@ def hidden_file_paths(self):
|
|||||||
|
|
||||||
def relative_path_for_spec(self, spec):
|
def relative_path_for_spec(self, spec):
|
||||||
_check_concrete(spec)
|
_check_concrete(spec)
|
||||||
enabled_variants = (
|
dir_name = "%s-%s-%s" % (
|
||||||
'-' + v.name for v in spec.variants.values()
|
|
||||||
if v.enabled)
|
|
||||||
|
|
||||||
dir_name = "%s-%s%s-%s" % (
|
|
||||||
spec.name,
|
spec.name,
|
||||||
spec.version,
|
spec.version,
|
||||||
''.join(enabled_variants),
|
|
||||||
spec.dag_hash(self.hash_len))
|
spec.dag_hash(self.hash_len))
|
||||||
|
|
||||||
path = join_path(
|
path = join_path(
|
||||||
|
@ -438,9 +438,16 @@ def stage(self):
|
|||||||
raise ValueError("Can only get a stage for a concrete package.")
|
raise ValueError("Can only get a stage for a concrete package.")
|
||||||
|
|
||||||
if self._stage is None:
|
if self._stage is None:
|
||||||
|
# Construct a mirror path (TODO: get this out of package.py)
|
||||||
mp = spack.mirror.mirror_archive_path(self.spec)
|
mp = spack.mirror.mirror_archive_path(self.spec)
|
||||||
self._stage = Stage(
|
|
||||||
self.fetcher, mirror_path=mp, name=self.spec.short_spec)
|
# Construct a path where the stage should build..
|
||||||
|
s = self.spec
|
||||||
|
stage_name = "%s-%s-%s" % (s.name, s.version, s.dag_hash())
|
||||||
|
|
||||||
|
# Build the stage
|
||||||
|
self._stage = Stage(self.fetcher, mirror_path=mp, name=stage_name)
|
||||||
|
|
||||||
return self._stage
|
return self._stage
|
||||||
|
|
||||||
|
|
||||||
|
BIN
share/spack/logo/favicon.ico
Executable file
BIN
share/spack/logo/favicon.ico
Executable file
Binary file not shown.
After Width: | Height: | Size: 1.1 KiB |
BIN
share/spack/logo/spack-logo-text-64.png
Normal file
BIN
share/spack/logo/spack-logo-text-64.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
BIN
share/spack/logo/spack-logo-white-text-48.png
Normal file
BIN
share/spack/logo/spack-logo-white-text-48.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 12 KiB |
15
var/spack/packages/activeharmony/package.py
Normal file
15
var/spack/packages/activeharmony/package.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Activeharmony(Package):
|
||||||
|
"""Active Harmony: a framework for auto-tuning (the automated search for values to improve the performance of a target application)."""
|
||||||
|
homepage = "http://www.dyninst.org/harmony"
|
||||||
|
url = "http://www.dyninst.org/sites/default/files/downloads/harmony/ah-4.5.tar.gz"
|
||||||
|
|
||||||
|
version('4.5', 'caee5b864716d376e2c25d739251b2a9')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
make("CFLAGS=-O3")
|
||||||
|
make("install", 'PREFIX=%s' % prefix)
|
||||||
|
|
||||||
|
from spack import *
|
||||||
|
|
@ -10,8 +10,20 @@ class Binutils(Package):
|
|||||||
version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e')
|
version('2.23.2', '4f8fa651e35ef262edc01d60fb45702e')
|
||||||
version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764')
|
version('2.20.1', '2b9dc8f2b7dbd5ec5992c6e29de0b764')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
variant('libiberty', default=False, description='Also install libiberty.')
|
||||||
configure("--prefix=%s" % prefix)
|
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure_args = [
|
||||||
|
'--prefix=%s' % prefix,
|
||||||
|
'--disable-dependency-tracking',
|
||||||
|
'--enable-interwork',
|
||||||
|
'--enable-multilib',
|
||||||
|
'--enable-64-bit-bfd',
|
||||||
|
'--enable-targets=all']
|
||||||
|
|
||||||
|
if '+libiberty' in spec:
|
||||||
|
configure_args.append('--enable-install-libiberty')
|
||||||
|
|
||||||
|
configure(*configure_args)
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
@ -14,6 +14,10 @@ class Boost(Package):
|
|||||||
list_url = "http://sourceforge.net/projects/boost/files/boost/"
|
list_url = "http://sourceforge.net/projects/boost/files/boost/"
|
||||||
list_depth = 2
|
list_depth = 2
|
||||||
|
|
||||||
|
version('1.59.0', '6aa9a5c6a4ca1016edd0ed1178e3cb87')
|
||||||
|
version('1.58.0', 'b8839650e61e9c1c0a89f371dd475546')
|
||||||
|
version('1.57.0', '1be49befbdd9a5ce9def2983ba3e7b76')
|
||||||
|
version('1.56.0', 'a744cf167b05d72335f27c88115f211d')
|
||||||
version('1.55.0', 'd6eef4b4cacb2183f2bf265a5a03a354')
|
version('1.55.0', 'd6eef4b4cacb2183f2bf265a5a03a354')
|
||||||
version('1.54.0', '15cb8c0803064faef0c4ddf5bc5ca279')
|
version('1.54.0', '15cb8c0803064faef0c4ddf5bc5ca279')
|
||||||
version('1.53.0', 'a00d22605d5dbcfb4c9936a9b35bc4c2')
|
version('1.53.0', 'a00d22605d5dbcfb4c9936a9b35bc4c2')
|
||||||
|
16
var/spack/packages/bowtie2/bowtie2-2.5.patch
Normal file
16
var/spack/packages/bowtie2/bowtie2-2.5.patch
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
--- Makefile 2015-02-26 10:50:00.000000000 -0800
|
||||||
|
+++ Makefile.new 2015-07-29 18:03:59.891357399 -0700
|
||||||
|
@@ -22,10 +22,10 @@
|
||||||
|
#
|
||||||
|
|
||||||
|
INC =
|
||||||
|
-GCC_PREFIX = $(shell dirname `which gcc`)
|
||||||
|
+GCC_PREFIX =
|
||||||
|
GCC_SUFFIX =
|
||||||
|
-CC = $(GCC_PREFIX)/gcc$(GCC_SUFFIX)
|
||||||
|
-CPP = $(GCC_PREFIX)/g++$(GCC_SUFFIX)
|
||||||
|
+CC = cc
|
||||||
|
+CPP = c++
|
||||||
|
CXX = $(CPP)
|
||||||
|
HEADERS = $(wildcard *.h)
|
||||||
|
BOWTIE_MM = 1
|
24
var/spack/packages/bowtie2/package.py
Normal file
24
var/spack/packages/bowtie2/package.py
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
from spack import *
|
||||||
|
from glob import glob
|
||||||
|
class Bowtie2(Package):
|
||||||
|
"""Description"""
|
||||||
|
homepage = "bowtie-bio.sourceforge.net/bowtie2/index.shtml"
|
||||||
|
version('2.2.5','51fa97a862d248d7ee660efc1147c75f', url = "http://downloads.sourceforge.net/project/bowtie-bio/bowtie2/2.2.5/bowtie2-2.2.5-source.zip")
|
||||||
|
|
||||||
|
patch('bowtie2-2.5.patch',when='@2.2.5', level=0)
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
make()
|
||||||
|
mkdirp(prefix.bin)
|
||||||
|
for bow in glob("bowtie2*"):
|
||||||
|
install(bow, prefix.bin)
|
||||||
|
# install('bowtie2',prefix.bin)
|
||||||
|
# install('bowtie2-align-l',prefix.bin)
|
||||||
|
# install('bowtie2-align-s',prefix.bin)
|
||||||
|
# install('bowtie2-build',prefix.bin)
|
||||||
|
# install('bowtie2-build-l',prefix.bin)
|
||||||
|
# install('bowtie2-build-s',prefix.bin)
|
||||||
|
# install('bowtie2-inspect',prefix.bin)
|
||||||
|
# install('bowtie2-inspect-l',prefix.bin)
|
||||||
|
# install('bowtie2-inspect-s',prefix.bin)
|
||||||
|
|
@ -22,8 +22,10 @@ def install(self, spec, prefix):
|
|||||||
|
|
||||||
bzip2_exe = join_path(prefix.bin, 'bzip2')
|
bzip2_exe = join_path(prefix.bin, 'bzip2')
|
||||||
install('bzip2-shared', bzip2_exe)
|
install('bzip2-shared', bzip2_exe)
|
||||||
for libfile in glob('libbz2.so*'):
|
for i, libfile in enumerate(glob('libbz2.so*')):
|
||||||
install(libfile, prefix.lib)
|
install(libfile, prefix.lib)
|
||||||
|
if i == 0:
|
||||||
|
symlink(join_path(prefix.lib, libfile), join_path(prefix.lib, 'libbz2.so'))
|
||||||
|
|
||||||
bunzip2 = join_path(prefix.bin, 'bunzip2')
|
bunzip2 = join_path(prefix.bin, 'bunzip2')
|
||||||
remove(bunzip2)
|
remove(bunzip2)
|
||||||
|
25
var/spack/packages/doxygen/package.py
Normal file
25
var/spack/packages/doxygen/package.py
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# Author: Justin Too <justin@doubleotoo.com>
|
||||||
|
# Date: September 11, 2015
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Doxygen(Package):
|
||||||
|
"""Doxygen is the de facto standard tool for generating documentation
|
||||||
|
from annotated C++ sources, but it also supports other popular programming
|
||||||
|
languages such as C, Objective-C, C#, PHP, Java, Python, IDL (Corba,
|
||||||
|
Microsoft, and UNO/OpenOffice flavors), Fortran, VHDL, Tcl, and to some extent D..
|
||||||
|
"""
|
||||||
|
homepage = "http://www.stack.nl/~dimitri/doxygen/"
|
||||||
|
url = "http://ftp.stack.nl/pub/users/dimitri/doxygen-1.8.10.src.tar.gz"
|
||||||
|
|
||||||
|
version('1.8.10', '79767ccd986f12a0f949015efb5f058f')
|
||||||
|
|
||||||
|
depends_on("cmake@2.8.12:")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
cmake('.', *std_cmake_args)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
18
var/spack/packages/fish/package.py
Normal file
18
var/spack/packages/fish/package.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Fish(Package):
|
||||||
|
"""fish is a smart and user-friendly command line shell for OS X, Linux, and
|
||||||
|
the rest of the family.
|
||||||
|
"""
|
||||||
|
|
||||||
|
homepage = "http://fishshell.com/"
|
||||||
|
url = "http://fishshell.com/files/2.2.0/fish-2.2.0.tar.gz"
|
||||||
|
list_url = homepage
|
||||||
|
|
||||||
|
version('2.2.0', 'a76339fd14ce2ec229283c53e805faac48c3e99d9e3ede9d82c0554acfc7b77a')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure('--prefix=%s' % prefix)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
@ -47,17 +47,15 @@ class Gcc(Package):
|
|||||||
version('4.5.4', '27e459c2566b8209ab064570e1b378f7')
|
version('4.5.4', '27e459c2566b8209ab064570e1b378f7')
|
||||||
|
|
||||||
variant('binutils', default=False, description='Add a dependency on binutils')
|
variant('binutils', default=False, description='Add a dependency on binutils')
|
||||||
variant('libelf', default=False, description='Add a dependency on libelf')
|
|
||||||
variant('isl', default=True, description='Add a dependency on isl')
|
|
||||||
|
|
||||||
depends_on("mpfr")
|
depends_on("mpfr")
|
||||||
depends_on("gmp")
|
depends_on("gmp")
|
||||||
depends_on("mpc") # when @4.5:
|
depends_on("mpc") # when @4.5:
|
||||||
depends_on("libelf", when='+libelf')
|
depends_on("libelf")
|
||||||
depends_on("binutils",when="+binutils")
|
depends_on("binutils~libiberty", when="+binutils")
|
||||||
|
|
||||||
# Save these until we can do optional deps.
|
# Save these until we can do optional deps.
|
||||||
depends_on("isl", when='@5.0:+isl')
|
depends_on("isl", when='@5.0:')
|
||||||
#depends_on("ppl")
|
#depends_on("ppl")
|
||||||
#depends_on("cloog")
|
#depends_on("cloog")
|
||||||
|
|
||||||
|
21
var/spack/packages/gflags/package.py
Normal file
21
var/spack/packages/gflags/package.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import os
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Gflags(Package):
|
||||||
|
"""The gflags package contains a C++ library that implements
|
||||||
|
commandline flags processing. It includes built-in support for
|
||||||
|
standard types such as string and the ability to define flags
|
||||||
|
in the source file in which they are used. Online documentation
|
||||||
|
available at: https://gflags.github.io/gflags/"""
|
||||||
|
|
||||||
|
homepage = "https://gflags.github.io/gflags"
|
||||||
|
url = "https://github.com/gflags/gflags/archive/v2.1.2.tar.gz"
|
||||||
|
|
||||||
|
version('2.1.2', 'ac432de923f9de1e9780b5254884599f')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
cmake("-DCMAKE_INSTALL_PREFIX=" + prefix,
|
||||||
|
"-DBUILD_SHARED_LIBS=ON")
|
||||||
|
make()
|
||||||
|
make("test")
|
||||||
|
make("install")
|
19
var/spack/packages/glm/package.py
Normal file
19
var/spack/packages/glm/package.py
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Glm(Package):
|
||||||
|
"""
|
||||||
|
OpenGL Mathematics (GLM) is a header only C++ mathematics library for graphics software based on
|
||||||
|
the OpenGL Shading Language (GLSL) specification.
|
||||||
|
"""
|
||||||
|
|
||||||
|
homepage = "https://github.com/g-truc/glm"
|
||||||
|
url = "https://github.com/g-truc/glm/archive/0.9.7.1.tar.gz"
|
||||||
|
|
||||||
|
version('0.9.7.1', '61af6639cdf652d1cdd7117190afced8')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
with working_dir('spack-build', create=True):
|
||||||
|
cmake('..', *std_cmake_args)
|
||||||
|
make()
|
||||||
|
make("install")
|
15
var/spack/packages/glog/package.py
Normal file
15
var/spack/packages/glog/package.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import os
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Glog(Package):
|
||||||
|
"""C++ implementation of the Google logging module."""
|
||||||
|
|
||||||
|
homepage = "https://github.com/google/glog"
|
||||||
|
url = "https://github.com/google/glog/archive/v0.3.3.tar.gz"
|
||||||
|
|
||||||
|
version('0.3.3', 'c1f86af27bd9c73186730aa957607ed0')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure("--prefix=" + prefix)
|
||||||
|
make()
|
||||||
|
make("install")
|
@ -11,6 +11,7 @@ class Hdf5(Package):
|
|||||||
list_url = "http://www.hdfgroup.org/ftp/HDF5/releases"
|
list_url = "http://www.hdfgroup.org/ftp/HDF5/releases"
|
||||||
list_depth = 3
|
list_depth = 3
|
||||||
|
|
||||||
|
version('1.8.15', '03cccb5b33dbe975fdcd8ae9dc021f24')
|
||||||
version('1.8.13', 'c03426e9e77d7766944654280b467289')
|
version('1.8.13', 'c03426e9e77d7766944654280b467289')
|
||||||
|
|
||||||
depends_on("mpi")
|
depends_on("mpi")
|
||||||
|
29
var/spack/packages/leveldb/package.py
Normal file
29
var/spack/packages/leveldb/package.py
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
import os
|
||||||
|
import glob
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Leveldb(Package):
|
||||||
|
"""LevelDB is a fast key-value storage library written at Google
|
||||||
|
that provides an ordered mapping from string keys to string values."""
|
||||||
|
|
||||||
|
homepage = "https://github.com/google/leveldb"
|
||||||
|
url = "https://github.com/google/leveldb/archive/v1.18.tar.gz"
|
||||||
|
|
||||||
|
version('1.18', '73770de34a2a5ab34498d2e05b2b7fa0')
|
||||||
|
|
||||||
|
depends_on("snappy")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
make()
|
||||||
|
|
||||||
|
mkdirp(prefix.include)
|
||||||
|
mkdirp(prefix.lib)
|
||||||
|
|
||||||
|
cp = which('cp')
|
||||||
|
|
||||||
|
# cp --preserve=links libleveldb.* prefix/lib
|
||||||
|
args = glob.glob('libleveldb.*')
|
||||||
|
args.append(prefix + '/lib')
|
||||||
|
cp('--preserve=links', *args)
|
||||||
|
|
||||||
|
cp('-r', 'include/leveldb', prefix + '/include')
|
@ -6,11 +6,12 @@ class Libffi(Package):
|
|||||||
to call any function specified by a call interface description at
|
to call any function specified by a call interface description at
|
||||||
run time."""
|
run time."""
|
||||||
homepage = "https://sourceware.org/libffi/"
|
homepage = "https://sourceware.org/libffi/"
|
||||||
url = "ftp://sourceware.org/pub/libffi/libffi-3.1.tar.gz"
|
|
||||||
|
|
||||||
version('3.1', 'f5898b29bbfd70502831a212d9249d10')
|
version('3.2.1','83b89587607e3eb65c70d361f13bab43',url = "ftp://sourceware.org/pub/libffi/libffi-3.2.1.tar.gz")
|
||||||
|
#version('3.1', 'f5898b29bbfd70502831a212d9249d10',url = "ftp://sourceware.org/pub/libffi/libffi-3.1.tar.gz") # Has a bug $(lib64) instead of ${lib64} in libffi.pc
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
configure("--prefix=%s" % prefix)
|
configure("--prefix=%s" % prefix)
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@ class Libxcb(Package):
|
|||||||
url = "http://xcb.freedesktop.org/dist/libxcb-1.11.tar.gz"
|
url = "http://xcb.freedesktop.org/dist/libxcb-1.11.tar.gz"
|
||||||
|
|
||||||
version('1.11', '1698dd837d7e6e94d029dbe8b3a82deb')
|
version('1.11', '1698dd837d7e6e94d029dbe8b3a82deb')
|
||||||
|
version('1.11.1', '118623c15a96b08622603a71d8789bf3')
|
||||||
depends_on("python")
|
depends_on("python")
|
||||||
depends_on("xcb-proto")
|
depends_on("xcb-proto")
|
||||||
|
|
||||||
|
39
var/spack/packages/lmdb/package.py
Normal file
39
var/spack/packages/lmdb/package.py
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
import os
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Lmdb(Package):
|
||||||
|
"""Read-only mirror of official repo on openldap.org. Issues and
|
||||||
|
pull requests here are ignored. Use OpenLDAP ITS for issues.
|
||||||
|
http://www.openldap.org/software/repo.html"""
|
||||||
|
|
||||||
|
|
||||||
|
homepage = "http://www.openldap.org/software/repo.html"
|
||||||
|
url = "https://github.com/LMDB/lmdb/archive/LMDB_0.9.16.tar.gz"
|
||||||
|
|
||||||
|
version('0.9.16', '0de89730b8f3f5711c2b3a4ba517b648')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
os.chdir('libraries/liblmdb')
|
||||||
|
|
||||||
|
make()
|
||||||
|
|
||||||
|
mkdirp(prefix.bin)
|
||||||
|
mkdirp(prefix + '/man/man1')
|
||||||
|
mkdirp(prefix.lib)
|
||||||
|
mkdirp(prefix.include)
|
||||||
|
|
||||||
|
bins = ['mdb_stat', 'mdb_copy', 'mdb_dump', 'mdb_load']
|
||||||
|
for f in bins:
|
||||||
|
install(f, prefix.bin)
|
||||||
|
|
||||||
|
mans = ['mdb_stat.1', 'mdb_copy.1', 'mdb_dump.1', 'mdb_load.1']
|
||||||
|
for f in mans:
|
||||||
|
install(f, prefix + '/man/man1')
|
||||||
|
|
||||||
|
libs = ['liblmdb.a', 'liblmdb.so']
|
||||||
|
for f in libs:
|
||||||
|
install(f, prefix.lib)
|
||||||
|
|
||||||
|
includes = ['lmdb.h']
|
||||||
|
for f in includes:
|
||||||
|
install(f, prefix.include)
|
15
var/spack/packages/matio/package.py
Normal file
15
var/spack/packages/matio/package.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Matio(Package):
|
||||||
|
"""matio is an C library for reading and writing Matlab MAT files"""
|
||||||
|
homepage = "http://sourceforge.net/projects/matio/"
|
||||||
|
url = "http://downloads.sourceforge.net/project/matio/matio/1.5.2/matio-1.5.2.tar.gz"
|
||||||
|
|
||||||
|
version('1.5.2', '85b007b99916c63791f28398f6a4c6f1')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure('--prefix=%s' % prefix)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
@ -33,10 +33,15 @@ class Mpich(Package):
|
|||||||
list_url = "http://www.mpich.org/static/downloads/"
|
list_url = "http://www.mpich.org/static/downloads/"
|
||||||
list_depth = 2
|
list_depth = 2
|
||||||
|
|
||||||
|
version('3.1.4', '2ab544607986486562e076b83937bba2')
|
||||||
|
version('3.1.3', '93cb17f91ac758cbf9174ecb03563778')
|
||||||
|
version('3.1.2', '7fbf4b81dcb74b07ae85939d1ceee7f1')
|
||||||
|
version('3.1.1', '40dc408b1e03cc36d80209baaa2d32b7')
|
||||||
|
version('3.1', '5643dd176499bfb7d25079aaff25f2ec')
|
||||||
version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
|
version('3.0.4', '9c5d5d4fe1e17dd12153f40bc5b6dbc0')
|
||||||
|
|
||||||
provides('mpi@:3', when='@3:')
|
provides('mpi@:3.0', when='@3:')
|
||||||
provides('mpi@:1', when='@1:')
|
provides('mpi@:1.3', when='@1:')
|
||||||
|
|
||||||
def setup_dependent_environment(self, module, spec, dep_spec):
|
def setup_dependent_environment(self, module, spec, dep_spec):
|
||||||
"""For dependencies, make mpicc's use spack wrapper."""
|
"""For dependencies, make mpicc's use spack wrapper."""
|
||||||
|
28
var/spack/packages/ncdu/package.py
Normal file
28
var/spack/packages/ncdu/package.py
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Ncdu(Package):
|
||||||
|
"""
|
||||||
|
Ncdu is a disk usage analyzer with an ncurses interface. It is designed
|
||||||
|
to find space hogs on a remote server where you don't have an entire
|
||||||
|
gaphical setup available, but it is a useful tool even on regular desktop
|
||||||
|
systems. Ncdu aims to be fast, simple and easy to use, and should be able
|
||||||
|
to run in any minimal POSIX-like environment with ncurses installed.
|
||||||
|
"""
|
||||||
|
|
||||||
|
homepage = "http://dev.yorhel.nl/ncdu"
|
||||||
|
url = "http://dev.yorhel.nl/download/ncdu-1.11.tar.gz"
|
||||||
|
|
||||||
|
version('1.11', '9e44240a5356b029f05f0e70a63c4d12')
|
||||||
|
version('1.10', '7535decc8d54eca811493e82d4bfab2d')
|
||||||
|
version('1.9' , '93258079db897d28bb8890e2db89b1fb')
|
||||||
|
version('1.8' , '94d7a821f8a0d7ba8ef3dd926226f7d5')
|
||||||
|
version('1.7' , '172047c29d232724cc62e773e82e592a')
|
||||||
|
|
||||||
|
depends_on("ncurses")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure('--prefix=%s' % prefix,
|
||||||
|
'--with-ncurses=%s' % spec['ncurses'])
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
25
var/spack/packages/netcdf/netcdf-4.3.3-mpi.patch
Normal file
25
var/spack/packages/netcdf/netcdf-4.3.3-mpi.patch
Normal file
@ -0,0 +1,25 @@
|
|||||||
|
diff -Nur netcdf-4.3.3/CMakeLists.txt netcdf-4.3.3.mpi/CMakeLists.txt
|
||||||
|
--- netcdf-4.3.3/CMakeLists.txt 2015-02-12 16:44:35.000000000 -0500
|
||||||
|
+++ netcdf-4.3.3.mpi/CMakeLists.txt 2015-10-14 16:44:41.176300658 -0400
|
||||||
|
@@ -753,6 +753,7 @@
|
||||||
|
SET(USE_PARALLEL OFF CACHE BOOL "")
|
||||||
|
MESSAGE(STATUS "Cannot find HDF5 library built with parallel support. Disabling parallel build.")
|
||||||
|
ELSE()
|
||||||
|
+ FIND_PACKAGE(MPI REQUIRED)
|
||||||
|
SET(USE_PARALLEL ON CACHE BOOL "")
|
||||||
|
SET(STATUS_PARALLEL "ON")
|
||||||
|
ENDIF()
|
||||||
|
diff -Nur netcdf-4.3.3/liblib/CMakeLists.txt netcdf-4.3.3.mpi/liblib/CMakeLists.txt
|
||||||
|
--- netcdf-4.3.3/liblib/CMakeLists.txt 2015-02-12 16:44:35.000000000 -0500
|
||||||
|
+++ netcdf-4.3.3.mpi/liblib/CMakeLists.txt 2015-10-14 16:44:57.757793634 -0400
|
||||||
|
@@ -71,6 +71,10 @@
|
||||||
|
SET(TLL_LIBS ${TLL_LIBS} ${CURL_LIBRARY})
|
||||||
|
ENDIF()
|
||||||
|
|
||||||
|
+IF(USE_PARALLEL)
|
||||||
|
+ SET(TLL_LIBS ${TLL_LIBS} ${MPI_C_LIBRARIES})
|
||||||
|
+ENDIF()
|
||||||
|
+
|
||||||
|
IF(USE_HDF4)
|
||||||
|
SET(TLL_LIBS ${TLL_LIBS} ${HDF4_LIBRARIES})
|
||||||
|
ENDIF()
|
@ -10,19 +10,18 @@ class Netcdf(Package):
|
|||||||
|
|
||||||
version('4.3.3', '5fbd0e108a54bd82cb5702a73f56d2ae')
|
version('4.3.3', '5fbd0e108a54bd82cb5702a73f56d2ae')
|
||||||
|
|
||||||
|
patch('netcdf-4.3.3-mpi.patch')
|
||||||
|
|
||||||
# Dependencies:
|
# Dependencies:
|
||||||
# >HDF5
|
# >HDF5
|
||||||
depends_on("hdf5")
|
depends_on("hdf5")
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
configure(
|
with working_dir('spack-build', create=True):
|
||||||
"--prefix=%s" % prefix,
|
cmake('..',
|
||||||
"--disable-dap", # Disable DAP.
|
"-DCMAKE_INSTALL_PREFIX:PATH=%s" % prefix,
|
||||||
"--disable-shared", # Don't build shared libraries (use static libs).
|
"-DENABLE_DAP:BOOL=OFF", # Disable DAP.
|
||||||
"CPPFLAGS=-I%s/include" % spec['hdf5'].prefix, # Link HDF5's include dir.
|
"-DBUILD_SHARED_LIBS:BOOL=OFF") # Don't build shared libraries (use static libs).
|
||||||
"LDFLAGS=-L%s/lib" % spec['hdf5'].prefix) # Link HDF5's lib dir.
|
|
||||||
|
|
||||||
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
|
||||||
# Check the newly installed netcdf package. Currently disabled.
|
|
||||||
# make("check")
|
|
||||||
|
@ -11,15 +11,19 @@ class Openmpi(Package):
|
|||||||
|
|
||||||
homepage = "http://www.open-mpi.org"
|
homepage = "http://www.open-mpi.org"
|
||||||
|
|
||||||
version('1.8.2', 'ab538ed8e328079d566fc797792e016e',
|
version('1.10.0', '280cf952de68369cebaca886c5ce0304',
|
||||||
url='http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.2.tar.gz')
|
url = "http://www.open-mpi.org/software/ompi/v1.10/downloads/openmpi-1.10.0.tar.bz2")
|
||||||
|
version('1.8.8', '0dab8e602372da1425e9242ae37faf8c',
|
||||||
|
url = 'http://www.open-mpi.org/software/ompi/v1.8/downloads/openmpi-1.8.8.tar.bz2')
|
||||||
version('1.6.5', '03aed2a4aa4d0b27196962a2a65fc475',
|
version('1.6.5', '03aed2a4aa4d0b27196962a2a65fc475',
|
||||||
url = "http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.5.tar.bz2")
|
url = "http://www.open-mpi.org/software/ompi/v1.6/downloads/openmpi-1.6.5.tar.bz2")
|
||||||
|
|
||||||
patch('ad_lustre_rwcontig_open_source.patch', when="@1.6.5")
|
patch('ad_lustre_rwcontig_open_source.patch', when="@1.6.5")
|
||||||
patch('llnl-platforms.patch', when="@1.6.5")
|
patch('llnl-platforms.patch', when="@1.6.5")
|
||||||
|
|
||||||
provides('mpi@:2')
|
provides('mpi@:2.2', when='@1.6.5') # Open MPI 1.6.5 supports MPI-2.2
|
||||||
|
provides('mpi@:3.0', when='@1.8.8') # Open MPI 1.8.8 supports MPI-3.0
|
||||||
|
provides('mpi@:3.0', when='@1.10.0') # Open MPI 1.10.0 supports MPI-3.0
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
config_args = ["--prefix=%s" % prefix]
|
config_args = ["--prefix=%s" % prefix]
|
||||||
|
16
var/spack/packages/protobuf/package.py
Normal file
16
var/spack/packages/protobuf/package.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
import os
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Protobuf(Package):
|
||||||
|
"""Google's data interchange format."""
|
||||||
|
|
||||||
|
homepage = "https://developers.google.com/protocol-buffers"
|
||||||
|
url = "https://github.com/google/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.bz2"
|
||||||
|
|
||||||
|
version('2.5.0', 'a72001a9067a4c2c4e0e836d0f92ece4')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure("--prefix=" + prefix)
|
||||||
|
make()
|
||||||
|
make("check")
|
||||||
|
make("install")
|
18
var/spack/packages/samtools/package.py
Normal file
18
var/spack/packages/samtools/package.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Samtools(Package):
|
||||||
|
"""SAM Tools provide various utilities for manipulating alignments in the SAM format,
|
||||||
|
including sorting, merging, indexing and generating
|
||||||
|
alignments in a per-position format"""
|
||||||
|
|
||||||
|
homepage = "www.htslib.org"
|
||||||
|
version('1.2','988ec4c3058a6ceda36503eebecd4122',url = "https://github.com/samtools/samtools/releases/download/1.2/samtools-1.2.tar.bz2")
|
||||||
|
|
||||||
|
depends_on("zlib")
|
||||||
|
depends_on("mpc")
|
||||||
|
parallel=False
|
||||||
|
patch("samtools1.2.patch",level=0)
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
make("prefix=%s" % prefix, "install")
|
||||||
|
|
20
var/spack/packages/samtools/samtools1.2.patch
Normal file
20
var/spack/packages/samtools/samtools1.2.patch
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
--- Makefile 2015-02-03 08:27:34.000000000 -0800
|
||||||
|
+++ Makefile.new 2015-07-21 10:38:27.881406892 -0700
|
||||||
|
@@ -26,7 +26,7 @@
|
||||||
|
CFLAGS = -g -Wall -O2
|
||||||
|
LDFLAGS =
|
||||||
|
LDLIBS =
|
||||||
|
-DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_CURSES_LIB=1
|
||||||
|
+DFLAGS= -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -D_CURSES_LIB=0
|
||||||
|
LOBJS= bam_aux.o bam.o bam_import.o sam.o \
|
||||||
|
sam_header.o bam_plbuf.o
|
||||||
|
AOBJS= bam_index.o bam_plcmd.o sam_view.o \
|
||||||
|
@@ -37,7 +37,7 @@
|
||||||
|
faidx.o stats.o stats_isize.o bam_flags.o bam_split.o \
|
||||||
|
bam_tview.o bam_tview_curses.o bam_tview_html.o bam_lpileup.o
|
||||||
|
INCLUDES= -I. -I$(HTSDIR)
|
||||||
|
-LIBCURSES= -lcurses # -lXCurses
|
||||||
|
+#LIBCURSES= -lcurses # -lXCurses
|
||||||
|
|
||||||
|
prefix = /usr/local
|
||||||
|
exec_prefix = $(prefix)
|
@ -28,12 +28,14 @@ class Scr(Package):
|
|||||||
"""SCR caches checkpoint data in storage on the compute nodes of a
|
"""SCR caches checkpoint data in storage on the compute nodes of a
|
||||||
Linux cluster to provide a fast, scalable checkpoint/restart
|
Linux cluster to provide a fast, scalable checkpoint/restart
|
||||||
capability for MPI codes"""
|
capability for MPI codes"""
|
||||||
|
|
||||||
homepage = "https://computation.llnl.gov/project/scr/"
|
homepage = "https://computation.llnl.gov/project/scr/"
|
||||||
url = "http://downloads.sourceforge.net/project/scalablecr/releases/scr-1.1-7.tar.gz"
|
|
||||||
|
|
||||||
depends_on("mpi")
|
depends_on("mpi")
|
||||||
|
# depends_on("dtcmp")
|
||||||
|
|
||||||
version('1.1-7', 'a5930e9ab27d1b7049447c2fd7734ebd')
|
version('1.1-7', 'a5930e9ab27d1b7049447c2fd7734ebd', url='http://downloads.sourceforge.net/project/scalablecr/releases/scr-1.1-7.tar.gz')
|
||||||
|
version('1.1.8', '6a0f11ad18e27fcfc00a271ff587b06e', url='https://github.com/hpc/scr/releases/download/v1.1.8/scr-1.1.8.tar.gz')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
configure("--prefix=" + prefix,
|
configure("--prefix=" + prefix,
|
||||||
|
15
var/spack/packages/snappy/package.py
Normal file
15
var/spack/packages/snappy/package.py
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import os
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Snappy(Package):
|
||||||
|
"""A fast compressor/decompressor: https://code.google.com/p/snappy"""
|
||||||
|
|
||||||
|
homepage = "https://code.google.com/p/snappy"
|
||||||
|
url = "https://github.com/google/snappy/releases/download/1.1.3/snappy-1.1.3.tar.gz"
|
||||||
|
|
||||||
|
version('1.1.3', '7358c82f133dc77798e4c2062a749b73')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure("--prefix=" + prefix)
|
||||||
|
make()
|
||||||
|
make("install")
|
@ -38,6 +38,8 @@ class Swig(Package):
|
|||||||
|
|
||||||
version('3.0.2', '62f9b0d010cef36a13a010dc530d0d41')
|
version('3.0.2', '62f9b0d010cef36a13a010dc530d0d41')
|
||||||
|
|
||||||
|
depends_on('pcre')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
configure("--prefix=%s" % prefix)
|
configure("--prefix=%s" % prefix)
|
||||||
make()
|
make()
|
||||||
|
50
var/spack/packages/trilinos/package.py
Normal file
50
var/spack/packages/trilinos/package.py
Normal file
@ -0,0 +1,50 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class Trilinos(Package):
|
||||||
|
"""
|
||||||
|
The Trilinos Project is an effort to develop algorithms and enabling technologies within an object-oriented
|
||||||
|
software framework for the solution of large-scale, complex multi-physics engineering and scientific problems.
|
||||||
|
A unique design feature of Trilinos is its focus on packages.
|
||||||
|
"""
|
||||||
|
homepage = "https://trilinos.org/"
|
||||||
|
url = "http://trilinos.csbsju.edu/download/files/trilinos-12.2.1-Source.tar.gz"
|
||||||
|
|
||||||
|
version('12.2.1', '6161926ea247863c690e927687f83be9')
|
||||||
|
version('12.0.1', 'bd99741d047471e127b8296b2ec08017')
|
||||||
|
version('11.14.3', '2f4f83f8333e4233c57d0f01c4b57426')
|
||||||
|
version('11.14.2', 'a43590cf896c677890d75bfe75bc6254')
|
||||||
|
version('11.14.1', '40febc57f76668be8b6a77b7607bb67f')
|
||||||
|
|
||||||
|
variant('mpi', default=True, description='Add a dependency on MPI and enables MPI dependent packages')
|
||||||
|
|
||||||
|
# Everything should be compiled with -fpic
|
||||||
|
depends_on('blas')
|
||||||
|
depends_on('lapack')
|
||||||
|
depends_on('boost')
|
||||||
|
depends_on('netcdf')
|
||||||
|
depends_on('matio')
|
||||||
|
depends_on('glm')
|
||||||
|
depends_on('swig')
|
||||||
|
depends_on('mpi', when='+mpi')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
|
||||||
|
options = [
|
||||||
|
'-DTrilinos_ENABLE_ALL_PACKAGES:BOOL=ON',
|
||||||
|
'-DTrilinos_ENABLE_TESTS:BOOL=OFF',
|
||||||
|
'-DTrilinos_ENABLE_EXAMPLES:BOOL=OFF',
|
||||||
|
'-DBUILD_SHARED_LIBS:BOOL=ON',
|
||||||
|
'-DBLAS_LIBRARY_DIRS:PATH=%s' % spec['blas'].prefix,
|
||||||
|
'-DLAPACK_LIBRARY_DIRS:PATH=%s' % spec['lapack'].prefix
|
||||||
|
]
|
||||||
|
if '+mpi' in spec:
|
||||||
|
mpi_options = ['-DTPL_ENABLE_MPI:BOOL=ON']
|
||||||
|
options.extend(mpi_options)
|
||||||
|
|
||||||
|
# -DCMAKE_INSTALL_PREFIX and all the likes...
|
||||||
|
options.extend(std_cmake_args)
|
||||||
|
with working_dir('spack-build', create=True):
|
||||||
|
cmake('..', *options)
|
||||||
|
make()
|
||||||
|
make('install')
|
Loading…
Reference in New Issue
Block a user