diff options
-rw-r--r-- | lib/spack/spack/build_environment.py | 8 | ||||
-rw-r--r-- | lib/spack/spack/fetch_strategy.py | 15 | ||||
-rw-r--r-- | var/spack/packages/cscope/package.py | 17 | ||||
-rw-r--r-- | var/spack/packages/libpciaccess/package.py | 21 | ||||
-rw-r--r-- | var/spack/packages/libxml2/package.py | 5 | ||||
-rw-r--r-- | var/spack/packages/mesa/package.py | 5 | ||||
-rw-r--r-- | var/spack/packages/py-mock/package.py | 17 | ||||
-rw-r--r-- | var/spack/packages/py-pandas/package.py | 4 | ||||
-rw-r--r-- | var/spack/packages/py-setuptools/package.py | 1 | ||||
-rw-r--r-- | var/spack/packages/vim/package.py | 17 |
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() |