summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xshare/spack/qa/check_dependencies31
-rwxr-xr-xshare/spack/qa/run-doc-tests1
-rwxr-xr-xshare/spack/qa/run-unit-tests7
-rw-r--r--var/spack/repos/builtin/packages/py-coverage/package.py2
-rw-r--r--var/spack/repos/builtin/packages/py-mercurial/package.py44
5 files changed, 78 insertions, 7 deletions
diff --git a/share/spack/qa/check_dependencies b/share/spack/qa/check_dependencies
index cbcda0ce0f..292eac7dd3 100755
--- a/share/spack/qa/check_dependencies
+++ b/share/spack/qa/check_dependencies
@@ -13,16 +13,37 @@
for dep in "$@"; do
if ! which $dep &> /dev/null; then
- # sphinx-build comes from sphinx
- package=$(echo $dep | cut -d - -f 1)
+ # Map binary name to package name
+ case $dep in
+ sphinx-apidoc|sphinx-build)
+ spack_package=py-sphinx
+ pip_package=sphinx
+ ;;
+ coverage)
+ spack_package=py-coverage
+ pip_package=coverage
+ ;;
+ flake8)
+ spack_package=py-flake8
+ pip_package=flake8
+ ;;
+ hg)
+ spack_package=py-mercurial
+ pip_package=mercurial
+ ;;
+ *)
+ spack_package=$dep
+ pip_package=$dep
+ ;;
+ esac
cat << EOF
-ERROR: $package is required to run this script.
+ERROR: $dep is required to run this script.
To install with Spack, run:
- $ spack install py-$package
+ $ spack install $spack_package
or, to install with pip, run:
- $ pip install $package
+ $ pip install $pip_package
Then add the bin directory to your PATH.
EOF
exit 1
diff --git a/share/spack/qa/run-doc-tests b/share/spack/qa/run-doc-tests
index bde30f74cc..9feaa3b3e3 100755
--- a/share/spack/qa/run-doc-tests
+++ b/share/spack/qa/run-doc-tests
@@ -18,6 +18,7 @@ DOC_DIR="$SPACK_ROOT/lib/spack/docs"
# Array of dependencies
deps=(
+ sphinx-apidoc
sphinx-build
hg
)
diff --git a/share/spack/qa/run-unit-tests b/share/spack/qa/run-unit-tests
index 9ce3062e58..fe2166d2dc 100755
--- a/share/spack/qa/run-unit-tests
+++ b/share/spack/qa/run-unit-tests
@@ -20,6 +20,7 @@ SPACK_ROOT="$QA_DIR/../../.."
# Array of dependencies
deps=(
coverage
+ hg
)
# Check for dependencies
@@ -28,6 +29,10 @@ deps=(
# Add Spack to the PATH.
export PATH="$SPACK_ROOT/bin:$PATH"
+# Move to root directory of Spack
+# Allows script to be run from anywhere
+cd "$SPACK_ROOT"
+
# Array of directories containing core Spack framework
core_dirs=(
bin
@@ -57,4 +62,4 @@ spack config get compilers
spack install -v libdwarf
# Run unit tests with code coverage
-coverage run spack test "$@"
+coverage run bin/spack test "$@"
diff --git a/var/spack/repos/builtin/packages/py-coverage/package.py b/var/spack/repos/builtin/packages/py-coverage/package.py
index c2a698b0bd..1a5b6df3d7 100644
--- a/var/spack/repos/builtin/packages/py-coverage/package.py
+++ b/var/spack/repos/builtin/packages/py-coverage/package.py
@@ -27,7 +27,7 @@ from spack import *
class PyCoverage(Package):
""" Testing coverage checker for python """
- # FIXME: add a proper url for your package's homepage here.
+
homepage = "http://nedbatchelder.com/code/coverage/"
url = "https://pypi.python.org/packages/source/c/coverage/coverage-4.0a6.tar.gz"
diff --git a/var/spack/repos/builtin/packages/py-mercurial/package.py b/var/spack/repos/builtin/packages/py-mercurial/package.py
new file mode 100644
index 0000000000..b1b9ffa1b1
--- /dev/null
+++ b/var/spack/repos/builtin/packages/py-mercurial/package.py
@@ -0,0 +1,44 @@
+##############################################################################
+# Copyright (c) 2013-2016, Lawrence Livermore National Security, LLC.
+# Produced at the Lawrence Livermore National Laboratory.
+#
+# This file is part of Spack.
+# Created by Todd Gamblin, tgamblin@llnl.gov, All rights reserved.
+# LLNL-CODE-647188
+#
+# For details, see https://github.com/llnl/spack
+# Please also see the LICENSE file for our notice and the LGPL.
+#
+# This program is free software; you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License (as
+# published by the Free Software Foundation) version 2.1, February 1999.
+#
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the IMPLIED WARRANTY OF
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the terms and
+# conditions of the GNU Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
+##############################################################################
+from spack import *
+
+
+class PyMercurial(Package):
+ """Mercurial is a free, distributed source control management tool.
+ It efficiently handles projects of any size and offers an easy and
+ intuitive interface."""
+
+ homepage = "https://www.mercurial-scm.org/"
+ url = "https://pypi.python.org/packages/source/m/mercurial/mercurial-3.9.tar.gz"
+
+ version('3.9', 'e2b355da744e94747daae3a5339d28a0',
+ url="https://pypi.python.org/packages/22/73/e8ef24d3cb13e4fa2695417e13fd22effa1c8e28465eea91a9f84aa922cd/mercurial-3.9.tar.gz")
+
+ extends('python')
+
+ depends_on('py-setuptools', type='build')
+
+ def install(self, spec, prefix):
+ setup_py('install', '--prefix={0}'.format(prefix))