Merge remote-tracking branch 'upstream/develop' into develop
This commit is contained in:
commit
fe9959d4da
28 changed files with 388 additions and 31 deletions
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):
|
||||
if isinstance(n, compiler.ast.Name):
|
||||
return n.name
|
||||
elif isinstance(n, compiler.ast.Const):
|
||||
return type(n.value).__name__
|
||||
elif isinstance(n, compiler.ast.Getattr):
|
||||
r = rollup(n.expr)
|
||||
if r:
|
||||
return r + "." + n.attrname
|
||||
name = rollup(node.node)
|
||||
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)
|
||||
if v is not None:
|
||||
self.add(node, v, name)
|
||||
|
|
|
@ -88,10 +88,10 @@ def set_compiler_environment_variables(pkg):
|
|||
compiler = pkg.compiler
|
||||
|
||||
# Set compiler variables used by CMake and autotools
|
||||
os.environ['CC'] = 'cc'
|
||||
os.environ['CXX'] = 'c++'
|
||||
os.environ['F77'] = 'f77'
|
||||
os.environ['FC'] = 'f90'
|
||||
os.environ['CC'] = join_path(spack.build_env_path, 'cc')
|
||||
os.environ['CXX'] = join_path(spack.build_env_path, 'c++')
|
||||
os.environ['F77'] = join_path(spack.build_env_path, 'f77')
|
||||
os.environ['FC'] = join_path(spack.build_env_path, 'f90')
|
||||
|
||||
# Set SPACK compiler variables so that our wrapper knows what to call
|
||||
if compiler.cc:
|
||||
|
|
|
@ -92,7 +92,7 @@ def display_specs(specs, **kwargs):
|
|||
# Print one spec per line along with prefix path
|
||||
width = max(len(s) for s in abbreviated)
|
||||
width += 2
|
||||
format = " %-{}s%s".format(width)
|
||||
format = " %%-%ds%%s" % width
|
||||
|
||||
for abbrv, spec in zip(abbreviated, specs):
|
||||
if hashes:
|
||||
|
|
|
@ -425,12 +425,21 @@ def fetch(self):
|
|||
if self.git_version > ver('1.7.10'):
|
||||
args.append('--single-branch')
|
||||
|
||||
cloned = False
|
||||
# Yet more efficiency, only download a 1-commit deep tree
|
||||
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)
|
||||
self.git(*args)
|
||||
|
||||
args.append(self.url)
|
||||
self.git(*args)
|
||||
self.stage.chdir_to_source()
|
||||
|
||||
# For tags, be conservative and check them out AFTER
|
||||
|
|
|
@ -41,13 +41,10 @@
|
|||
|
||||
class PythonVersionTest(unittest.TestCase):
|
||||
|
||||
def spack_python_files(self):
|
||||
def pyfiles(self, *search_paths):
|
||||
# first file is the spack script.
|
||||
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.
|
||||
for path in search_paths:
|
||||
for root, dirnames, filenames in os.walk(path):
|
||||
|
@ -56,16 +53,20 @@ def spack_python_files(self):
|
|||
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():
|
||||
yield spack.db.filename_for_package_name(name)
|
||||
|
||||
|
||||
def check_python_versions(self, files):
|
||||
def check_python_versions(self, *files):
|
||||
# dict version -> filename -> reasons
|
||||
all_issues = {}
|
||||
|
||||
for fn in files:
|
||||
if fn != '/Users/gamblin2/src/spack/var/spack/packages/vim/package.py':
|
||||
continue
|
||||
print fn
|
||||
|
||||
with open(fn) as pyfile:
|
||||
versions = pyqver2.get_versions(pyfile.read())
|
||||
for ver, reasons in versions.items():
|
||||
|
@ -101,8 +102,8 @@ def check_python_versions(self, files):
|
|||
|
||||
|
||||
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):
|
||||
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.error
|
||||
|
||||
|
||||
class Executable(object):
|
||||
"""Class representing a program that can be run on the command line."""
|
||||
def __init__(self, name):
|
||||
|
@ -58,7 +59,20 @@ def __call__(self, *args, **kwargs):
|
|||
return_output = kwargs.get("return_output", False)
|
||||
fail_on_error = kwargs.get("fail_on_error", True)
|
||||
ignore_errors = kwargs.get("ignore_errors", ())
|
||||
|
||||
output = kwargs.get("output", sys.stdout)
|
||||
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 isinstance(ignore_errors, int):
|
||||
|
@ -77,16 +91,12 @@ def __call__(self, *args, **kwargs):
|
|||
cmd_line = ' '.join(cmd)
|
||||
tty.debug(cmd_line)
|
||||
|
||||
close_error = False
|
||||
try:
|
||||
if error is None:
|
||||
error = open(os.devnull, 'w')
|
||||
close_error = True
|
||||
|
||||
proc = subprocess.Popen(
|
||||
cmd,
|
||||
stdin=input,
|
||||
stderr=error,
|
||||
stdout=subprocess.PIPE if return_output else sys.stdout)
|
||||
stdout=subprocess.PIPE if return_output else output)
|
||||
out, err = proc.communicate()
|
||||
self.returncode = proc.returncode
|
||||
|
||||
|
@ -110,8 +120,9 @@ def __call__(self, *args, **kwargs):
|
|||
% (proc.returncode, cmd_line))
|
||||
|
||||
finally:
|
||||
if close_error:
|
||||
error.close()
|
||||
if ostream: output.close()
|
||||
if estream: error.close()
|
||||
if istream: input.close()
|
||||
|
||||
|
||||
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')
|
||||
|
||||
extends('python')
|
||||
depends_on('zlib')
|
||||
depends_on('xz')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix,
|
||||
"--without-python")
|
||||
configure("--prefix=%s" % prefix)
|
||||
|
||||
make()
|
||||
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')
|
|
@ -1,7 +1,7 @@
|
|||
from spack import *
|
||||
|
||||
class Mesa(Package):
|
||||
"""Mesa is an open-source implementation of the OpenGL
|
||||
"""Mesa is an open-source implementation of the OpenGL
|
||||
specification - a system for rendering interactive 3D graphics."""
|
||||
|
||||
homepage = "http://www.mesa3d.org"
|
||||
|
@ -11,9 +11,10 @@ class Mesa(Package):
|
|||
# version('10.4.4', '8d863a3c209bf5116b2babfccccc68ce')
|
||||
version('8.0.5', 'cda5d101f43b8784fa60bdeaca4056f2')
|
||||
|
||||
# mesa 7.x, 8.x, 9.x
|
||||
# mesa 7.x, 8.x, 9.x
|
||||
depends_on("libdrm@2.4.33")
|
||||
depends_on("llvm@3.0")
|
||||
depends_on("libxml2")
|
||||
|
||||
# patch("llvm-fixes.patch") # using newer llvm
|
||||
|
||||
|
|
|
@ -33,6 +33,8 @@ class Mpfr(Package):
|
|||
version('3.1.3', '5fdfa3cfa5c86514ee4a241a1affa138')
|
||||
# version('3.1.2', 'ee2c3ac63bf0c2359bf08fc3ee094c19')
|
||||
|
||||
depends_on('gmp')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
configure("--prefix=%s" % prefix)
|
||||
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("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-setuptools')
|
||||
depends_on('py-pytz')
|
||||
depends_on('libdrm')
|
||||
depends_on('libpciaccess')
|
||||
depends_on('llvm')
|
||||
depends_on('mesa')
|
||||
|
||||
def install(self, spec, prefix):
|
||||
python('setup.py', 'install', '--prefix=%s' % prefix)
|
||||
|
|
|
@ -7,6 +7,7 @@ class PySetuptools(Package):
|
|||
|
||||
version('11.3.1', '01f69212e019a2420c1693fb43593930')
|
||||
version('16.0', '0ace0b96233516fc5f7c857d086aa3ad')
|
||||
version('18.1', 'f72e87f34fbf07f299f6cb46256a0b06')
|
||||
|
||||
extends('python')
|
||||
|
||||
|
|
|
@ -35,15 +35,26 @@ class Vim(Package):
|
|||
variant('ruby', default=False, description="build with 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):
|
||||
feature_set = None
|
||||
for fs in self.feature_sets:
|
||||
if "+" + fs in spec:
|
||||
if feature_set is not None:
|
||||
tty.error("Only one feature set allowed, both {} and {} specified".format(
|
||||
feature_set,
|
||||
fs))
|
||||
tty.error("Only one feature set allowed, both %s and %s specified"
|
||||
% (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:
|
||||
feature_set = 'normal'
|
||||
|
||||
|
@ -60,6 +71,12 @@ def install(self, spec, prefix):
|
|||
else:
|
||||
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)
|
||||
|
||||
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 a new issue