summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--lib/spack/spack/build_environment.py8
-rw-r--r--lib/spack/spack/fetch_strategy.py15
-rw-r--r--var/spack/packages/cscope/package.py17
-rw-r--r--var/spack/packages/libpciaccess/package.py21
-rw-r--r--var/spack/packages/libxml2/package.py5
-rw-r--r--var/spack/packages/mesa/package.py5
-rw-r--r--var/spack/packages/py-mock/package.py17
-rw-r--r--var/spack/packages/py-pandas/package.py4
-rw-r--r--var/spack/packages/py-setuptools/package.py1
-rw-r--r--var/spack/packages/vim/package.py17
10 files changed, 99 insertions, 11 deletions
diff --git a/lib/spack/spack/build_environment.py b/lib/spack/spack/build_environment.py
index 81fbedc689..a133faa629 100644
--- a/lib/spack/spack/build_environment.py
+++ b/lib/spack/spack/build_environment.py
@@ -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:
diff --git a/lib/spack/spack/fetch_strategy.py b/lib/spack/spack/fetch_strategy.py
index 0ba0251caa..b810023c5a 100644
--- a/lib/spack/spack/fetch_strategy.py
+++ b/lib/spack/spack/fetch_strategy.py
@@ -425,12 +425,21 @@ class GitFetchStrategy(VCSFetchStrategy):
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
diff --git a/var/spack/packages/cscope/package.py b/var/spack/packages/cscope/package.py
new file mode 100644
index 0000000000..9aac0f7304
--- /dev/null
+++ b/var/spack/packages/cscope/package.py
@@ -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")
diff --git a/var/spack/packages/libpciaccess/package.py b/var/spack/packages/libpciaccess/package.py
new file mode 100644
index 0000000000..6022fc34a3
--- /dev/null
+++ b/var/spack/packages/libpciaccess/package.py
@@ -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")
diff --git a/var/spack/packages/libxml2/package.py b/var/spack/packages/libxml2/package.py
index 72199d8def..3a0af6b368 100644
--- a/var/spack/packages/libxml2/package.py
+++ b/var/spack/packages/libxml2/package.py
@@ -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")
diff --git a/var/spack/packages/mesa/package.py b/var/spack/packages/mesa/package.py
index 2dba878a77..2a04a8fd51 100644
--- a/var/spack/packages/mesa/package.py
+++ b/var/spack/packages/mesa/package.py
@@ -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
diff --git a/var/spack/packages/py-mock/package.py b/var/spack/packages/py-mock/package.py
new file mode 100644
index 0000000000..3b08428ba0
--- /dev/null
+++ b/var/spack/packages/py-mock/package.py
@@ -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)
diff --git a/var/spack/packages/py-pandas/package.py b/var/spack/packages/py-pandas/package.py
index acbb5114a3..5b9997faa9 100644
--- a/var/spack/packages/py-pandas/package.py
+++ b/var/spack/packages/py-pandas/package.py
@@ -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)
diff --git a/var/spack/packages/py-setuptools/package.py b/var/spack/packages/py-setuptools/package.py
index d3f11ed469..760ad4d6db 100644
--- a/var/spack/packages/py-setuptools/package.py
+++ b/var/spack/packages/py-setuptools/package.py
@@ -7,6 +7,7 @@ class PySetuptools(Package):
version('11.3.1', '01f69212e019a2420c1693fb43593930')
version('16.0', '0ace0b96233516fc5f7c857d086aa3ad')
+ version('18.1', 'f72e87f34fbf07f299f6cb46256a0b06')
extends('python')
diff --git a/var/spack/packages/vim/package.py b/var/spack/packages/vim/package.py
index d0cf80b898..710d5dfffc 100644
--- a/var/spack/packages/vim/package.py
+++ b/var/spack/packages/vim/package.py
@@ -35,6 +35,12 @@ 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:
@@ -44,6 +50,11 @@ class Vim(Package):
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, {} was specified".format(feature_set))
+ feature_set = 'huge'
if feature_set is None:
feature_set = 'normal'
@@ -60,6 +71,12 @@ class Vim(Package):
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()