summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/spack16
-rw-r--r--lib/spack/spack/fetch_strategy.py10
-rw-r--r--var/spack/packages/py-pandas/package.py20
3 files changed, 41 insertions, 5 deletions
diff --git a/bin/spack b/bin/spack
index 7dd3dbabbb..354754594e 100755
--- a/bin/spack
+++ b/bin/spack
@@ -49,13 +49,27 @@ except OSError:
# clean up the scope and start using spack package instead.
del SPACK_FILE, SPACK_PREFIX, SPACK_LIB_PATH
import llnl.util.tty as tty
+from llnl.util.tty.color import *
import spack
from spack.error import SpackError
from external import argparse
# Command parsing
parser = argparse.ArgumentParser(
- description='Spack: the Supercomputing PACKage Manager.')
+ formatter_class=argparse.RawTextHelpFormatter,
+ description="Spack: the Supercomputing PACKage Manager." + colorize("""
+
+spec expressions:
+ PACKAGE [CONSTRAINTS]
+
+ CONSTRAINTS:
+ @c{@version}
+ @g{%compiler @compiler_version}
+ @B{+variant}
+ @r{-variant} or @r{~variant}
+ @m{=architecture}
+ [^DEPENDENCY [CONSTRAINTS] ...]"""))
+
parser.add_argument('-d', '--debug', action='store_true',
help="Write out debug logs during compile")
parser.add_argument('-k', '--insecure', action='store_true',
diff --git a/lib/spack/spack/fetch_strategy.py b/lib/spack/spack/fetch_strategy.py
index 48313e2b37..c892e9ea26 100644
--- a/lib/spack/spack/fetch_strategy.py
+++ b/lib/spack/spack/fetch_strategy.py
@@ -363,10 +363,6 @@ class GitFetchStrategy(VCSFetchStrategy):
'git', 'tag', 'branch', 'commit', **kwargs)
self._git = None
- # For git fetch branches and tags the same way.
- if not self.branch:
- self.branch = self.tag
-
@property
def git_version(self):
@@ -422,6 +418,12 @@ class GitFetchStrategy(VCSFetchStrategy):
self.git(*args)
self.stage.chdir_to_source()
+ # For tags, be conservative and check them out AFTER
+ # cloning. Later git versions can do this with clone
+ # --branch, but older ones fail.
+ if self.tag:
+ self.git('checkout', self.tag)
+
def archive(self, destination):
super(GitFetchStrategy, self).archive(destination, exclude='.git')
diff --git a/var/spack/packages/py-pandas/package.py b/var/spack/packages/py-pandas/package.py
new file mode 100644
index 0000000000..2f441f0d22
--- /dev/null
+++ b/var/spack/packages/py-pandas/package.py
@@ -0,0 +1,20 @@
+from spack import *
+import os
+
+class PyPandas(Package):
+ """pandas is a Python package providing fast, flexible, and expressive data structures designed to make working with relational or labeled data both easy and intuitive. It aims to be the fundamental high-level building block for doing practical, real world data analysis in Python. Additionally, it has the broader goal of becoming the most powerful and flexible open source data analysis / manipulation tool available in any language."""
+ homepage = "http://pandas.pydata.org/"
+ url = "https://pypi.python.org/packages/source/p/pandas/pandas-0.16.0.tar.gz#md5=bfe311f05dc0c351f8955fbd1e296e73"
+
+ version('0.16.0', 'bfe311f05dc0c351f8955fbd1e296e73')
+
+ extends('python')
+ depends_on('py-dateutil')
+ depends_on('py-numpy')
+ depends_on('py-matplotlib')
+ depends_on('py-scipy')
+ depends_on('py-setuptools')
+ depends_on('py-pytz')
+
+ def install(self, spec, prefix):
+ python('setup.py', 'install', '--prefix=%s' % prefix)