Merge remote-tracking branch 'upstream/develop' into develop
This commit is contained in:
commit
fe9959d4da
11
.mailmap
Normal file
11
.mailmap
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
Todd Gamblin <tgamblin@llnl.gov> George Todd Gamblin <gamblin2@llnl.gov>
|
||||||
|
Adam Moody <moody20@llnl.gov> Adam T. Moody <moody20@llnl.gov>
|
||||||
|
Alfredo Gimenez <gimenez1@llnl.gov> Alfredo Gimenez <alfredo.gimenez@gmail.com>
|
||||||
|
David Boehme <boehme3@llnl.gov> David Boehme <boehme3@sierra324.llnl.gov>
|
||||||
|
David Boehme <boehme3@llnl.gov> David Boehme <boehme3@sierra648.llnl.gov>
|
||||||
|
Kevin Brandstatter <kjbrandstatter@gmail.com> Kevin Brandstatter <kbrandst@hawk.iit.edu>
|
||||||
|
Luc Jaulmes <luc.jaulmes@bsc.es> Luc Jaulmes <jaulmes1@llnl.gov>
|
||||||
|
Saravan Pantham <saravan.pantham@gmail.com> Saravan Pantham <pantham1@surface86.llnl.gov
|
||||||
|
Tom Scogland <tscogland@llnl.gov> Tom Scogland <scogland1@llnl.gov>
|
||||||
|
Tom Scogland <tscogland@llnl.gov> Tom Scogland <tom.scogland@gmail.com>
|
||||||
|
Joachim Protze <protze@rz.rwth-aachen.de> jprotze <protze@rz.rwth-aachen.de>
|
12
lib/spack/external/pyqver2.py
vendored
12
lib/spack/external/pyqver2.py
vendored
@ -165,12 +165,24 @@ def visitCallFunc(self, node):
|
|||||||
def rollup(n):
|
def rollup(n):
|
||||||
if isinstance(n, compiler.ast.Name):
|
if isinstance(n, compiler.ast.Name):
|
||||||
return n.name
|
return n.name
|
||||||
|
elif isinstance(n, compiler.ast.Const):
|
||||||
|
return type(n.value).__name__
|
||||||
elif isinstance(n, compiler.ast.Getattr):
|
elif isinstance(n, compiler.ast.Getattr):
|
||||||
r = rollup(n.expr)
|
r = rollup(n.expr)
|
||||||
if r:
|
if r:
|
||||||
return r + "." + n.attrname
|
return r + "." + n.attrname
|
||||||
name = rollup(node.node)
|
name = rollup(node.node)
|
||||||
if name:
|
if name:
|
||||||
|
# Special handling for empty format strings, which aren't
|
||||||
|
# allowed in Python 2.6
|
||||||
|
if name in ('unicode.format', 'str.format'):
|
||||||
|
n = node.node
|
||||||
|
if isinstance(n, compiler.ast.Getattr):
|
||||||
|
n = n.expr
|
||||||
|
if isinstance(n, compiler.ast.Const):
|
||||||
|
if '{}' in n.value:
|
||||||
|
self.add(node, (2,7), name + ' with {} format string')
|
||||||
|
|
||||||
v = Functions.get(name)
|
v = Functions.get(name)
|
||||||
if v is not None:
|
if v is not None:
|
||||||
self.add(node, v, name)
|
self.add(node, v, name)
|
||||||
|
@ -88,10 +88,10 @@ def set_compiler_environment_variables(pkg):
|
|||||||
compiler = pkg.compiler
|
compiler = pkg.compiler
|
||||||
|
|
||||||
# Set compiler variables used by CMake and autotools
|
# Set compiler variables used by CMake and autotools
|
||||||
os.environ['CC'] = 'cc'
|
os.environ['CC'] = join_path(spack.build_env_path, 'cc')
|
||||||
os.environ['CXX'] = 'c++'
|
os.environ['CXX'] = join_path(spack.build_env_path, 'c++')
|
||||||
os.environ['F77'] = 'f77'
|
os.environ['F77'] = join_path(spack.build_env_path, 'f77')
|
||||||
os.environ['FC'] = 'f90'
|
os.environ['FC'] = join_path(spack.build_env_path, 'f90')
|
||||||
|
|
||||||
# Set SPACK compiler variables so that our wrapper knows what to call
|
# Set SPACK compiler variables so that our wrapper knows what to call
|
||||||
if compiler.cc:
|
if compiler.cc:
|
||||||
|
@ -92,7 +92,7 @@ def display_specs(specs, **kwargs):
|
|||||||
# Print one spec per line along with prefix path
|
# Print one spec per line along with prefix path
|
||||||
width = max(len(s) for s in abbreviated)
|
width = max(len(s) for s in abbreviated)
|
||||||
width += 2
|
width += 2
|
||||||
format = " %-{}s%s".format(width)
|
format = " %%-%ds%%s" % width
|
||||||
|
|
||||||
for abbrv, spec in zip(abbreviated, specs):
|
for abbrv, spec in zip(abbreviated, specs):
|
||||||
if hashes:
|
if hashes:
|
||||||
|
@ -425,12 +425,21 @@ def fetch(self):
|
|||||||
if self.git_version > ver('1.7.10'):
|
if self.git_version > ver('1.7.10'):
|
||||||
args.append('--single-branch')
|
args.append('--single-branch')
|
||||||
|
|
||||||
|
cloned = False
|
||||||
# Yet more efficiency, only download a 1-commit deep tree
|
# Yet more efficiency, only download a 1-commit deep tree
|
||||||
if self.git_version >= ver('1.7.1'):
|
if self.git_version >= ver('1.7.1'):
|
||||||
args.extend(['--depth','1'])
|
try:
|
||||||
|
self.git(*(args + ['--depth','1', self.url]))
|
||||||
|
cloned = True
|
||||||
|
except spack.error.SpackError:
|
||||||
|
# This will fail with the dumb HTTP transport
|
||||||
|
# continue and try without depth, cleanup first
|
||||||
|
pass
|
||||||
|
|
||||||
|
if not cloned:
|
||||||
args.append(self.url)
|
args.append(self.url)
|
||||||
self.git(*args)
|
self.git(*args)
|
||||||
|
|
||||||
self.stage.chdir_to_source()
|
self.stage.chdir_to_source()
|
||||||
|
|
||||||
# For tags, be conservative and check them out AFTER
|
# For tags, be conservative and check them out AFTER
|
||||||
|
@ -41,13 +41,10 @@
|
|||||||
|
|
||||||
class PythonVersionTest(unittest.TestCase):
|
class PythonVersionTest(unittest.TestCase):
|
||||||
|
|
||||||
def spack_python_files(self):
|
def pyfiles(self, *search_paths):
|
||||||
# first file is the spack script.
|
# first file is the spack script.
|
||||||
yield spack.spack_file
|
yield spack.spack_file
|
||||||
|
|
||||||
# Next files are all the source files and package files.
|
|
||||||
search_paths = [spack.lib_path, spack.var_path]
|
|
||||||
|
|
||||||
# Iterate through the whole spack source tree.
|
# Iterate through the whole spack source tree.
|
||||||
for path in search_paths:
|
for path in search_paths:
|
||||||
for root, dirnames, filenames in os.walk(path):
|
for root, dirnames, filenames in os.walk(path):
|
||||||
@ -56,16 +53,20 @@ def spack_python_files(self):
|
|||||||
yield os.path.join(root, filename)
|
yield os.path.join(root, filename)
|
||||||
|
|
||||||
|
|
||||||
def all_package_py_files(self):
|
def package_py_files(self):
|
||||||
for name in spack.db.all_package_names():
|
for name in spack.db.all_package_names():
|
||||||
yield spack.db.filename_for_package_name(name)
|
yield spack.db.filename_for_package_name(name)
|
||||||
|
|
||||||
|
|
||||||
def check_python_versions(self, files):
|
def check_python_versions(self, *files):
|
||||||
# dict version -> filename -> reasons
|
# dict version -> filename -> reasons
|
||||||
all_issues = {}
|
all_issues = {}
|
||||||
|
|
||||||
for fn in files:
|
for fn in files:
|
||||||
|
if fn != '/Users/gamblin2/src/spack/var/spack/packages/vim/package.py':
|
||||||
|
continue
|
||||||
|
print fn
|
||||||
|
|
||||||
with open(fn) as pyfile:
|
with open(fn) as pyfile:
|
||||||
versions = pyqver2.get_versions(pyfile.read())
|
versions = pyqver2.get_versions(pyfile.read())
|
||||||
for ver, reasons in versions.items():
|
for ver, reasons in versions.items():
|
||||||
@ -101,8 +102,8 @@ def check_python_versions(self, files):
|
|||||||
|
|
||||||
|
|
||||||
def test_core_module_compatibility(self):
|
def test_core_module_compatibility(self):
|
||||||
self.check_python_versions(self.spack_python_files())
|
self.check_python_versions(*self.pyfiles(spack.lib_path))
|
||||||
|
|
||||||
|
|
||||||
def test_package_module_compatibility(self):
|
def test_package_module_compatibility(self):
|
||||||
self.check_python_versions(self.all_package_py_files())
|
self.check_python_versions(*self.pyfiles(spack.packages_path))
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
import spack
|
import spack
|
||||||
import spack.error
|
import spack.error
|
||||||
|
|
||||||
|
|
||||||
class Executable(object):
|
class Executable(object):
|
||||||
"""Class representing a program that can be run on the command line."""
|
"""Class representing a program that can be run on the command line."""
|
||||||
def __init__(self, name):
|
def __init__(self, name):
|
||||||
@ -58,7 +59,20 @@ def __call__(self, *args, **kwargs):
|
|||||||
return_output = kwargs.get("return_output", False)
|
return_output = kwargs.get("return_output", False)
|
||||||
fail_on_error = kwargs.get("fail_on_error", True)
|
fail_on_error = kwargs.get("fail_on_error", True)
|
||||||
ignore_errors = kwargs.get("ignore_errors", ())
|
ignore_errors = kwargs.get("ignore_errors", ())
|
||||||
|
|
||||||
|
output = kwargs.get("output", sys.stdout)
|
||||||
error = kwargs.get("error", sys.stderr)
|
error = kwargs.get("error", sys.stderr)
|
||||||
|
input = kwargs.get("input", None)
|
||||||
|
|
||||||
|
def streamify(arg, mode):
|
||||||
|
if isinstance(arg, basestring):
|
||||||
|
return open(arg, mode), True
|
||||||
|
elif arg is None and mode != 'r':
|
||||||
|
return open(os.devnull, mode), True
|
||||||
|
return arg, False
|
||||||
|
output, ostream = streamify(output, 'w')
|
||||||
|
error, estream = streamify(error, 'w')
|
||||||
|
input, istream = streamify(input, 'r')
|
||||||
|
|
||||||
# if they just want to ignore one error code, make it a tuple.
|
# if they just want to ignore one error code, make it a tuple.
|
||||||
if isinstance(ignore_errors, int):
|
if isinstance(ignore_errors, int):
|
||||||
@ -77,16 +91,12 @@ def __call__(self, *args, **kwargs):
|
|||||||
cmd_line = ' '.join(cmd)
|
cmd_line = ' '.join(cmd)
|
||||||
tty.debug(cmd_line)
|
tty.debug(cmd_line)
|
||||||
|
|
||||||
close_error = False
|
|
||||||
try:
|
try:
|
||||||
if error is None:
|
|
||||||
error = open(os.devnull, 'w')
|
|
||||||
close_error = True
|
|
||||||
|
|
||||||
proc = subprocess.Popen(
|
proc = subprocess.Popen(
|
||||||
cmd,
|
cmd,
|
||||||
|
stdin=input,
|
||||||
stderr=error,
|
stderr=error,
|
||||||
stdout=subprocess.PIPE if return_output else sys.stdout)
|
stdout=subprocess.PIPE if return_output else output)
|
||||||
out, err = proc.communicate()
|
out, err = proc.communicate()
|
||||||
self.returncode = proc.returncode
|
self.returncode = proc.returncode
|
||||||
|
|
||||||
@ -110,8 +120,9 @@ def __call__(self, *args, **kwargs):
|
|||||||
% (proc.returncode, cmd_line))
|
% (proc.returncode, cmd_line))
|
||||||
|
|
||||||
finally:
|
finally:
|
||||||
if close_error:
|
if ostream: output.close()
|
||||||
error.close()
|
if estream: error.close()
|
||||||
|
if istream: input.close()
|
||||||
|
|
||||||
|
|
||||||
def __eq__(self, other):
|
def __eq__(self, other):
|
||||||
|
18
var/spack/packages/asciidoc/package.py
Normal file
18
var/spack/packages/asciidoc/package.py
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Asciidoc(Package):
|
||||||
|
""" A presentable text document format for writing articles, UNIX man
|
||||||
|
pages and other small to medium sized documents."""
|
||||||
|
homepage = "http://asciidoc.org"
|
||||||
|
url = "http://downloads.sourceforge.net/project/asciidoc/asciidoc/8.6.9/asciidoc-8.6.9.tar.gz"
|
||||||
|
|
||||||
|
version('8.6.9', 'c59018f105be8d022714b826b0be130a')
|
||||||
|
|
||||||
|
depends_on('libxml2')
|
||||||
|
depends_on('libxslt')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure('--prefix=%s' % prefix)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
17
var/spack/packages/bear/package.py
Normal file
17
var/spack/packages/bear/package.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Bear(Package):
|
||||||
|
"""Bear is a tool that generates a compilation database for clang tooling from non-cmake build systems."""
|
||||||
|
homepage = "https://github.com/rizsotto/Bear"
|
||||||
|
url = "https://github.com/rizsotto/Bear/archive/2.0.4.tar.gz"
|
||||||
|
|
||||||
|
version('2.0.4', 'fd8afb5e8e18f8737ba06f90bd77d011')
|
||||||
|
|
||||||
|
depends_on("cmake")
|
||||||
|
depends_on("python")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
cmake('.', *std_cmake_args)
|
||||||
|
|
||||||
|
make("all")
|
||||||
|
make("install")
|
17
var/spack/packages/cscope/package.py
Normal file
17
var/spack/packages/cscope/package.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Cscope(Package):
|
||||||
|
"""Cscope is a developer's tool for browsing source code."""
|
||||||
|
homepage = "http://http://cscope.sourceforge.net/"
|
||||||
|
url = "http://downloads.sourceforge.net/project/cscope/cscope/15.8b/cscope-15.8b.tar.gz"
|
||||||
|
|
||||||
|
version('15.8b', '8f9409a238ee313a96f9f87fe0f3b176')
|
||||||
|
|
||||||
|
# Can be configured to use flex (not necessary)
|
||||||
|
# ./configure --with-flex
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure('--prefix=%s' % prefix)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
19
var/spack/packages/czmq/package.py
Normal file
19
var/spack/packages/czmq/package.py
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Czmq(Package):
|
||||||
|
""" A C interface to the ZMQ library """
|
||||||
|
homepage = "http://czmq.zeromq.org"
|
||||||
|
url = "https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz"
|
||||||
|
|
||||||
|
version('3.0.2', '23e9885f7ee3ce88d99d0425f52e9be1', url='https://github.com/zeromq/czmq/archive/v3.0.2.tar.gz')
|
||||||
|
|
||||||
|
depends_on('zeromq')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
bash = which("bash")
|
||||||
|
bash("./autogen.sh")
|
||||||
|
configure("--prefix=%s" % prefix)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
||||||
|
|
19
var/spack/packages/docbook-xml/package.py
Normal file
19
var/spack/packages/docbook-xml/package.py
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import os
|
||||||
|
import glob
|
||||||
|
from spack import *
|
||||||
|
|
||||||
|
|
||||||
|
class DocbookXml(Package):
|
||||||
|
"""Docbook DTD XML files."""
|
||||||
|
homepage = "http://www.oasis-open.org/docbook"
|
||||||
|
url = "http://www.oasis-open.org/docbook/xml/4.5/docbook-xml-4.5.zip"
|
||||||
|
|
||||||
|
version('4.5', '03083e288e87a7e829e437358da7ef9e')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
cp = which('cp')
|
||||||
|
|
||||||
|
install_args = ['-a', '-t', prefix]
|
||||||
|
install_args.extend(glob.glob('*'))
|
||||||
|
|
||||||
|
cp(*install_args)
|
36
var/spack/packages/flux/package.py
Normal file
36
var/spack/packages/flux/package.py
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
from spack import *
|
||||||
|
import os
|
||||||
|
|
||||||
|
class Flux(Package):
|
||||||
|
""" A next-generation resource manager (pre-alpha) """
|
||||||
|
|
||||||
|
homepage = "https://github.com/flux-framework/flux-core"
|
||||||
|
url = "https://github.com/flux-framework/flux-core"
|
||||||
|
|
||||||
|
version('master', branch='master', git='https://github.com/flux-framework/flux-core')
|
||||||
|
|
||||||
|
# Also needs autotools, but should use the system version if available
|
||||||
|
depends_on("zeromq@4.0.4:")
|
||||||
|
depends_on("czmq@2.2:")
|
||||||
|
depends_on("lua@5.1:5.1.99")
|
||||||
|
depends_on("munge")
|
||||||
|
depends_on("libjson-c")
|
||||||
|
depends_on("libxslt")
|
||||||
|
# TODO: This provides a catalog, hacked with environment below for now
|
||||||
|
depends_on("docbook-xml")
|
||||||
|
depends_on("asciidoc")
|
||||||
|
depends_on("python")
|
||||||
|
depends_on("py-cffi")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
# Bootstrap with autotools
|
||||||
|
bash = which('bash')
|
||||||
|
bash('./autogen.sh')
|
||||||
|
|
||||||
|
# Fix asciidoc dependency on xml style sheets and whatnot
|
||||||
|
os.environ['XML_CATALOG_FILES'] = os.path.join(spec['docbook-xml'].prefix,
|
||||||
|
'catalog.xml')
|
||||||
|
# Configure, compile & install
|
||||||
|
configure("--prefix=" + prefix)
|
||||||
|
make("install", "V=1")
|
||||||
|
|
14
var/spack/packages/libjson-c/package.py
Normal file
14
var/spack/packages/libjson-c/package.py
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class LibjsonC(Package):
|
||||||
|
""" A JSON implementation in C """
|
||||||
|
homepage = "https://github.com/json-c/json-c/wiki"
|
||||||
|
url = "https://s3.amazonaws.com/json-c_releases/releases/json-c-0.11.tar.gz"
|
||||||
|
|
||||||
|
version('0.11', 'aa02367d2f7a830bf1e3376f77881e98')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure('--prefix=%s' % prefix)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
21
var/spack/packages/libpciaccess/package.py
Normal file
21
var/spack/packages/libpciaccess/package.py
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Libpciaccess(Package):
|
||||||
|
"""Generic PCI access library."""
|
||||||
|
|
||||||
|
homepage = "http://cgit.freedesktop.org/xorg/lib/libpciaccess/"
|
||||||
|
url = "http://cgit.freedesktop.org/xorg/lib/libpciaccess/"
|
||||||
|
|
||||||
|
version('0.13.4', git='http://anongit.freedesktop.org/git/xorg/lib/libpciaccess.git',
|
||||||
|
tag='libpciaccess-0.13.4')
|
||||||
|
|
||||||
|
depends_on('autoconf')
|
||||||
|
depends_on('libtool')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
from subprocess import call
|
||||||
|
call(["./autogen.sh"])
|
||||||
|
configure("--prefix=%s" % prefix)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
19
var/spack/packages/libsodium/package.py
Normal file
19
var/spack/packages/libsodium/package.py
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Libsodium(Package):
|
||||||
|
"""Sodium is a modern, easy-to-use software library for encryption,
|
||||||
|
decryption, signatures, password hashing and more."""
|
||||||
|
homepage = "https://download.libsodium.org/doc/"
|
||||||
|
url = "https://download.libsodium.org/libsodium/releases/libsodium-1.0.3.tar.gz"
|
||||||
|
|
||||||
|
version('1.0.3', 'b3bcc98e34d3250f55ae196822307fab')
|
||||||
|
version('1.0.2', 'dc40eb23e293448c6fc908757738003f')
|
||||||
|
version('1.0.1', '9a221b49fba7281ceaaf5e278d0f4430')
|
||||||
|
version('1.0.0', '3093dabe4e038d09f0d150cef064b2f7')
|
||||||
|
version('0.7.1', 'c224fe3923d1dcfe418c65c8a7246316')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure("--prefix=%s" % prefix)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
@ -9,11 +9,12 @@ class Libxml2(Package):
|
|||||||
|
|
||||||
version('2.9.2', '9e6a9aca9d155737868b3dc5fd82f788')
|
version('2.9.2', '9e6a9aca9d155737868b3dc5fd82f788')
|
||||||
|
|
||||||
|
extends('python')
|
||||||
depends_on('zlib')
|
depends_on('zlib')
|
||||||
depends_on('xz')
|
depends_on('xz')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
configure("--prefix=%s" % prefix,
|
configure("--prefix=%s" % prefix)
|
||||||
"--without-python")
|
|
||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
26
var/spack/packages/lua/package.py
Normal file
26
var/spack/packages/lua/package.py
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
from spack import *
|
||||||
|
import os
|
||||||
|
|
||||||
|
class Lua(Package):
|
||||||
|
""" The Lua programming language interpreter and library """
|
||||||
|
homepage = "http://www.lua.org"
|
||||||
|
url = "http://www.lua.org/ftp/lua-5.1.5.tar.gz"
|
||||||
|
|
||||||
|
version('5.3.1', '797adacada8d85761c079390ff1d9961')
|
||||||
|
version('5.3.0', 'a1b0a7e92d0c85bbff7a8d27bf29f8af')
|
||||||
|
version('5.2.4', '913fdb32207046b273fdb17aad70be13')
|
||||||
|
version('5.2.3', 'dc7f94ec6ff15c985d2d6ad0f1b35654')
|
||||||
|
version('5.2.2', 'efbb645e897eae37cad4344ce8b0a614')
|
||||||
|
version('5.2.1', 'ae08f641b45d737d12d30291a5e5f6e3')
|
||||||
|
version('5.2.0', 'f1ea831f397214bae8a265995ab1a93e')
|
||||||
|
version('5.1.5', '2e115fe26e435e33b0d5c022e4490567')
|
||||||
|
version('5.1.4', 'd0870f2de55d59c1c8419f36e8fac150')
|
||||||
|
version('5.1.3', 'a70a8dfaa150e047866dc01a46272599')
|
||||||
|
|
||||||
|
depends_on('ncurses')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
make('INSTALL_TOP=%s' % prefix,
|
||||||
|
'MYLDFLAGS=-L%s/lib' % spec['ncurses'].prefix,
|
||||||
|
'linux',
|
||||||
|
'install')
|
@ -14,6 +14,7 @@ class Mesa(Package):
|
|||||||
# mesa 7.x, 8.x, 9.x
|
# mesa 7.x, 8.x, 9.x
|
||||||
depends_on("libdrm@2.4.33")
|
depends_on("libdrm@2.4.33")
|
||||||
depends_on("llvm@3.0")
|
depends_on("llvm@3.0")
|
||||||
|
depends_on("libxml2")
|
||||||
|
|
||||||
# patch("llvm-fixes.patch") # using newer llvm
|
# patch("llvm-fixes.patch") # using newer llvm
|
||||||
|
|
||||||
|
@ -33,6 +33,8 @@ class Mpfr(Package):
|
|||||||
version('3.1.3', '5fdfa3cfa5c86514ee4a241a1affa138')
|
version('3.1.3', '5fdfa3cfa5c86514ee4a241a1affa138')
|
||||||
# version('3.1.2', 'ee2c3ac63bf0c2359bf08fc3ee094c19')
|
# version('3.1.2', 'ee2c3ac63bf0c2359bf08fc3ee094c19')
|
||||||
|
|
||||||
|
depends_on('gmp')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
configure("--prefix=%s" % prefix)
|
configure("--prefix=%s" % prefix)
|
||||||
make()
|
make()
|
||||||
|
20
var/spack/packages/munge/package.py
Normal file
20
var/spack/packages/munge/package.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
from spack import *
|
||||||
|
import os
|
||||||
|
|
||||||
|
class Munge(Package):
|
||||||
|
""" MUNGE Uid 'N' Gid Emporium """
|
||||||
|
homepage = "https://code.google.com/p/munge/"
|
||||||
|
url = "https://github.com/dun/munge/releases/download/munge-0.5.11/munge-0.5.11.tar.bz2"
|
||||||
|
|
||||||
|
version('0.5.11', 'bd8fca8d5f4c1fcbef1816482d49ee01', url='https://github.com/dun/munge/releases/download/munge-0.5.11/munge-0.5.11.tar.bz2')
|
||||||
|
|
||||||
|
depends_on('openssl')
|
||||||
|
depends_on('libgcrypt')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
os.makedirs(os.path.join(prefix, "lib/systemd/system"))
|
||||||
|
configure("--prefix=%s" % prefix)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
||||||
|
|
@ -21,3 +21,11 @@ def install(self, spec, prefix):
|
|||||||
make()
|
make()
|
||||||
make("install")
|
make("install")
|
||||||
|
|
||||||
|
configure("--prefix=%s" % prefix,
|
||||||
|
"--with-shared",
|
||||||
|
"--disable-widec",
|
||||||
|
"--disable-pc-files",
|
||||||
|
"--without-ada")
|
||||||
|
make()
|
||||||
|
make("install")
|
||||||
|
|
||||||
|
17
var/spack/packages/py-mock/package.py
Normal file
17
var/spack/packages/py-mock/package.py
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class PyMock(Package):
|
||||||
|
"""mock is a library for testing in Python. It allows you to replace parts
|
||||||
|
of your system under test with mock objects and make assertions about how
|
||||||
|
they have been used."""
|
||||||
|
|
||||||
|
homepage = "https://github.com/testing-cabal/mock"
|
||||||
|
url = "https://pypi.python.org/packages/source/m/mock/mock-1.3.0.tar.gz"
|
||||||
|
|
||||||
|
version('1.3.0', '73ee8a4afb3ff4da1b4afa287f39fdeb')
|
||||||
|
|
||||||
|
extends('python')
|
||||||
|
depends_on('py-setuptools@17.1:')
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
python('setup.py', 'install', '--prefix=%s' % prefix)
|
@ -16,6 +16,10 @@ class PyPandas(Package):
|
|||||||
depends_on('py-scipy')
|
depends_on('py-scipy')
|
||||||
depends_on('py-setuptools')
|
depends_on('py-setuptools')
|
||||||
depends_on('py-pytz')
|
depends_on('py-pytz')
|
||||||
|
depends_on('libdrm')
|
||||||
|
depends_on('libpciaccess')
|
||||||
|
depends_on('llvm')
|
||||||
|
depends_on('mesa')
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||||
|
@ -7,6 +7,7 @@ class PySetuptools(Package):
|
|||||||
|
|
||||||
version('11.3.1', '01f69212e019a2420c1693fb43593930')
|
version('11.3.1', '01f69212e019a2420c1693fb43593930')
|
||||||
version('16.0', '0ace0b96233516fc5f7c857d086aa3ad')
|
version('16.0', '0ace0b96233516fc5f7c857d086aa3ad')
|
||||||
|
version('18.1', 'f72e87f34fbf07f299f6cb46256a0b06')
|
||||||
|
|
||||||
extends('python')
|
extends('python')
|
||||||
|
|
||||||
|
@ -35,15 +35,26 @@ class Vim(Package):
|
|||||||
variant('ruby', default=False, description="build with Ruby")
|
variant('ruby', default=False, description="build with Ruby")
|
||||||
depends_on('ruby', when='+ruby')
|
depends_on('ruby', when='+ruby')
|
||||||
|
|
||||||
|
variant('cscope', default=False, description="build with cscope support")
|
||||||
|
depends_on('cscope', when='+cscope')
|
||||||
|
|
||||||
|
variant('gui', default=False, description="build with gui (gvim)")
|
||||||
|
# virtual dependency?
|
||||||
|
|
||||||
def install(self, spec, prefix):
|
def install(self, spec, prefix):
|
||||||
feature_set = None
|
feature_set = None
|
||||||
for fs in self.feature_sets:
|
for fs in self.feature_sets:
|
||||||
if "+" + fs in spec:
|
if "+" + fs in spec:
|
||||||
if feature_set is not None:
|
if feature_set is not None:
|
||||||
tty.error("Only one feature set allowed, both {} and {} specified".format(
|
tty.error("Only one feature set allowed, both %s and %s specified"
|
||||||
feature_set,
|
% (feature_set, fs))
|
||||||
fs))
|
|
||||||
feature_set = fs
|
feature_set = fs
|
||||||
|
if '+gui' in spec:
|
||||||
|
if feature_set is not None:
|
||||||
|
if feature_set is not 'huge':
|
||||||
|
tty.error("+gui variant requires 'huge' feature set, %s was specified"
|
||||||
|
% feature_set)
|
||||||
|
feature_set = 'huge'
|
||||||
if feature_set is None:
|
if feature_set is None:
|
||||||
feature_set = 'normal'
|
feature_set = 'normal'
|
||||||
|
|
||||||
@ -60,6 +71,12 @@ def install(self, spec, prefix):
|
|||||||
else:
|
else:
|
||||||
configure_args.append("--enable-rubyinterp=dynamic")
|
configure_args.append("--enable-rubyinterp=dynamic")
|
||||||
|
|
||||||
|
if '+gui' in spec:
|
||||||
|
configure_args.append("--enable-gui=auto")
|
||||||
|
|
||||||
|
if '+cscope' in spec:
|
||||||
|
configure_args.append("--enable-cscope")
|
||||||
|
|
||||||
configure("--prefix=%s" % prefix, *configure_args)
|
configure("--prefix=%s" % prefix, *configure_args)
|
||||||
|
|
||||||
make()
|
make()
|
||||||
|
20
var/spack/packages/zeromq/package.py
Normal file
20
var/spack/packages/zeromq/package.py
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Zeromq(Package):
|
||||||
|
""" The ZMQ networking/concurrency library and core API """
|
||||||
|
homepage = "http://zguide.zeromq.org/"
|
||||||
|
url = "http://download.zeromq.org/zeromq-4.1.2.tar.gz"
|
||||||
|
|
||||||
|
version('4.1.2', '159c0c56a895472f02668e692d122685')
|
||||||
|
version('4.1.1', '0a4b44aa085644f25c177f79dc13f253')
|
||||||
|
version('4.0.7', '9b46f7e7b0704b83638ef0d461fd59ab')
|
||||||
|
version('4.0.6', 'd47dd09ed7ae6e7fd6f9a816d7f5fdf6')
|
||||||
|
version('4.0.5', '73c39f5eb01b9d7eaf74a5d899f1d03d')
|
||||||
|
|
||||||
|
depends_on("libsodium")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure("--with-libsodium","--prefix=%s" % prefix)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
16
var/spack/packages/zsh/package.py
Normal file
16
var/spack/packages/zsh/package.py
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
from spack import *
|
||||||
|
|
||||||
|
class Zsh(Package):
|
||||||
|
""" The ZSH shell """
|
||||||
|
homepage = "http://www.zsh.org"
|
||||||
|
url = "http://www.zsh.org/pub/zsh-5.0.8.tar.bz2"
|
||||||
|
|
||||||
|
version('5.0.8', 'e6759e8dd7b714d624feffd0a73ba0fe')
|
||||||
|
|
||||||
|
depends_on("pcre")
|
||||||
|
|
||||||
|
def install(self, spec, prefix):
|
||||||
|
configure('--prefix=%s' % prefix)
|
||||||
|
|
||||||
|
make()
|
||||||
|
make("install")
|
Loading…
Reference in New Issue
Block a user