diff --git a/var/spack/repos/builtin/packages/axl/package.py b/var/spack/repos/builtin/packages/axl/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..a9198a2ff6efe587e7cc531e7d269910fb1cb2f0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/axl/package.py
@@ -0,0 +1,74 @@
+##############################################################################
+# Copyright (c) 2013-2018, 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/spack/spack
+# Please also see the NOTICE and LICENSE files 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 *
+from spack.error import SpackError
+
+
+def async_api_validator(values):
+    if 'none' in values and len(values) != 1:
+        raise SpackError("The value 'none' is not usable"
+                         " with other async_api values.")
+    if 'ibm_bbapi' in values and 'cray_dw' in values:
+        raise SpackError("The 'ibm_bbapi' and 'cray_dw' asynchronous"
+                         " APIs are incompatible.")
+
+
+class Axl(CMakePackage):
+    """Asynchronous transfer library"""
+
+    homepage = "https://github.com/ECP-VeloC/AXL"
+    url      = "https://github.com/ECP-VeloC/AXL/archive/v0.1.0.zip"
+    tags     = ['ecp']
+
+    version('0.1.0', '1ff16c046c3a080c252e0bf4251b83bc')
+    version('master', git='https://github.com/ecp-veloc/axl.git',
+            branch='master')
+
+    variant('async_api', default='daemon',
+            description="Set of async transfer APIs to enable",
+            values=['cray_dw', 'ibm_bbapi', 'daemon', 'none'], multi=True,
+            validator=async_api_validator)
+
+    # not-yet implemented functionality
+    conflicts('async_api=cray_dw', when='@0.1.0')
+    conflicts('async_api=ibm_bbapi', when='@0.1.0')
+
+    depends_on('kvtree')
+
+    def cmake_args(self):
+        args = []
+        if self.spec.satisfies('platform=cray'):
+            args.append("-DAXL_LINK_STATIC=ON")
+        args.append("-DWITH_KVTREE_PREFIX=%s" % self.spec['kvtree'].prefix)
+
+        apis = self.spec.variants['async_api'].value.split(',')
+        if 'daemon' in apis:
+            args.append('-DAXL_ASYNC_DAEMON=ON')
+            apis.remove('daemon')
+
+        for api in apis:
+            args.append('-DAXL_ASYNC_API={0}'.format(api))
+
+        return args
diff --git a/var/spack/repos/builtin/packages/er/package.py b/var/spack/repos/builtin/packages/er/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..7ff1416eef63c2e3b46d1005dd4fd57fca2a4ce4
--- /dev/null
+++ b/var/spack/repos/builtin/packages/er/package.py
@@ -0,0 +1,52 @@
+##############################################################################
+# Copyright (c) 2013-2018, 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/spack/spack
+# Please also see the NOTICE and LICENSE files 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 Er(CMakePackage):
+    """Encoding and redundancy on a file set"""
+
+    homepage = "https://github.com/ECP-VeloC/er"
+    url      = "https://github.com/ECP-VeloC/er/archive/v0.0.1.zip"
+    tags     = ['ecp']
+
+    version('0.0.2', '24ad8f87bce2b6d900f1fb67452c3672')
+    version('master', git='https://github.com/ecp-veloc/er.git',
+            branch='master')
+
+    depends_on('mpi')
+    depends_on('kvtree')
+    depends_on('redset')
+    depends_on('shuffile')
+
+    def cmake_args(self):
+        args = []
+        args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc)
+        if self.spec.satisfies('platform=cray'):
+            args.append("-DER_LINK_STATIC=ON")
+        args.append("-DWITH_KVTREE_PREFIX=%s" % self.spec['kvtree'].prefix)
+        args.append("-DWITH_REDSET_PREFIX=%s" % self.spec['redset'].prefix)
+        args.append("-DWITH_SHUFFILE_PREFIX=%s" % self.spec['shuffile'].prefix)
+        return args
diff --git a/var/spack/repos/builtin/packages/kvtree/package.py b/var/spack/repos/builtin/packages/kvtree/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..3a8fb66811142c5c6b3a83343974e70c95cd3120
--- /dev/null
+++ b/var/spack/repos/builtin/packages/kvtree/package.py
@@ -0,0 +1,52 @@
+##############################################################################
+# Copyright (c) 2013-2018, 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/spack/spack
+# Please also see the NOTICE and LICENSE files 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 Kvtree(CMakePackage):
+    """KVTree provides a fully extensible C datastructure modeled after perl
+    hashes."""
+
+    homepage = "https://github.com/ECP-VeloC/KVTree"
+    url      = "https://github.com/ECP-VeloC/KVTree/archive/v1.0.0.zip"
+    tags     = ['ecp']
+
+    version('1.0.1', 'f007b4b930d12fc0eb784b4dc3af823e')
+    version('master', git='https://github.com/ecp-veloc/kvtree.git',
+            branch='master')
+
+    variant('mpi', default=True, description="Build with MPI message packing")
+    depends_on('mpi', when='+mpi')
+
+    def cmake_args(self):
+        args = []
+        if self.spec.satisfies('+mpi'):
+            args.append("-DMPI=ON")
+            args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc)
+        else:
+            args.append("-DMPI=OFF")
+        if self.spec.satisfies('platform=cray'):
+            args.append("-DKVTREE_LINK_STATIC=ON")
+        return args
diff --git a/var/spack/repos/builtin/packages/rankstr/package.py b/var/spack/repos/builtin/packages/rankstr/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..88963be60b0c26d91eb79a8d2f71010ca6530c31
--- /dev/null
+++ b/var/spack/repos/builtin/packages/rankstr/package.py
@@ -0,0 +1,46 @@
+##############################################################################
+# Copyright (c) 2013-2018, 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/spack/spack
+# Please also see the NOTICE and LICENSE files 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 Rankstr(CMakePackage):
+    """Assign one-to-one mapping of MPI ranks to strings"""
+
+    homepage = "https://github.com/ECP-VeloC/rankstr"
+    url      = "https://github.com/ECP-VeloC/rankstr/archive/v0.0.1.zip"
+    tags     = ['ecp']
+
+    version('0.0.1', 'abe06fa6a78cfe20ec0c78717ac2f2ed')
+    version('master', git='https://github.com/ecp-veloc/rankstr.git',
+            branch='master')
+
+    depends_on('mpi')
+
+    def cmake_args(self):
+        args = []
+        args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc)
+        if self.spec.satisfies('platform=cray'):
+            args.append("-DRANKSTR_LINK_STATIC=ON")
+        return args
diff --git a/var/spack/repos/builtin/packages/redset/package.py b/var/spack/repos/builtin/packages/redset/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..8f2ac8af046559494f948b4b05e76e9ca665d40f
--- /dev/null
+++ b/var/spack/repos/builtin/packages/redset/package.py
@@ -0,0 +1,50 @@
+##############################################################################
+# Copyright (c) 2013-2018, 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/spack/spack
+# Please also see the NOTICE and LICENSE files 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 Redset(CMakePackage):
+    """Create MPI communicators for disparate redundancy sets"""
+
+    homepage = "https://github.com/ECP-VeloC/redset"
+    url      = "https://github.com/ECP-VeloC/redset/archive/v0.0.1.zip"
+    tags     = ['ecp']
+
+    version('0.0.2', '370d4dd477ebcfdd28dcc6375c22f731')
+    version('master', git='https://github.com/ecp-veloc/redset.git',
+            branch='master')
+
+    depends_on('mpi')
+    depends_on('rankstr')
+    depends_on('kvtree+mpi')
+
+    def cmake_args(self):
+        args = []
+        args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc)
+        if self.spec.satisfies('platform=cray'):
+            args.append("-DREDSET_LINK_STATIC=ON")
+        args.append("-DWITH_KVTREE_PREFIX=%s" % self.spec['kvtree'].prefix)
+        args.append("-DWITH_RANKSTR_PREFIX=%s" % self.spec['rankstr'].prefix)
+        return args
diff --git a/var/spack/repos/builtin/packages/shuffile/package.py b/var/spack/repos/builtin/packages/shuffile/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..096d968b1f1eee7c9af9e534d19daae824696cd0
--- /dev/null
+++ b/var/spack/repos/builtin/packages/shuffile/package.py
@@ -0,0 +1,48 @@
+##############################################################################
+# Copyright (c) 2013-2018, 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/spack/spack
+# Please also see the NOTICE and LICENSE files 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 Shuffile(CMakePackage):
+    """Shuffle files between MPI ranks"""
+
+    homepage = "https://github.com/ECP-VeloC/shuffile"
+    url      = "https://github.com/ECP-VeloC/shuffile/archive/v0.0.1.zip"
+    tags     = ['ecp']
+
+    version('0.0.2', 'eca45150d83e21ac51049133a2308d34')
+    version('master', git='https://github.com/ecp-veloc/shuffile.git',
+            branch='master')
+
+    depends_on('mpi')
+    depends_on('kvtree')
+
+    def cmake_args(self):
+        args = []
+        args.append("-DMPI_C_COMPILER=%s" % self.spec['mpi'].mpicc)
+        if self.spec.satisfies('platform=cray'):
+            args.append("-DSHUFFILE_LINK_STATIC=ON")
+        args.append("-DWITH_KVTREE_PREFIX=%s" % self.spec['kvtree'].prefix)
+        return args
diff --git a/var/spack/repos/builtin/packages/veloc/package.py b/var/spack/repos/builtin/packages/veloc/package.py
new file mode 100644
index 0000000000000000000000000000000000000000..0d098e7e85321209c7b5a36d80a08edca145434b
--- /dev/null
+++ b/var/spack/repos/builtin/packages/veloc/package.py
@@ -0,0 +1,66 @@
+##############################################################################
+# Copyright (c) 2013-2018, 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/spack/spack
+# Please also see the NOTICE and LICENSE files 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 Veloc(CMakePackage):
+    """Very-Low Overhead Checkpointing System. VELOC is a multi-level
+    checkpoint-restart runtime for HPC supercomputing infrastructures"""
+
+    homepage = "https://github.com/ECP-VeloC/VELOC"
+    url      = "https://github.com/ECP-VeloC/VELOC/archive/veloc-1.0rc1.zip"
+    tags     = ['ecp']
+
+    version('1.0',    '98fe2d9abd2a1b53d7a52267dab91fae')
+    version('1.0rc1', 'c6db0de56b5b865183b1fa719ac74c1d')
+    version('master', git='https://github.com/ecp-veloc/veloc.git',
+            branch='master')
+
+    depends_on('boost~atomic~chrono~clanglibcpp~date_time~debug~exception'
+               '~filesystem~graph~icu~iostreams~locale~log~math~mpi'
+               '~multithreaded~numpy~program_options~python~random~regex'
+               '~serialization~shared~signals~singlethreaded~system'
+               '~taggedlayout~test~thread~timer~versionedlayout~wave')
+    depends_on('libpthread-stubs')
+    depends_on('mpi')
+    depends_on('er')
+    depends_on('axl')
+    depends_on('cmake@3.9:', type='build')
+
+    # requires C++11
+    def flag_handler(self, name, flags):
+        flags = list(flags)
+        if name == 'cxxflags':
+            flags.append(self.compiler.cxx11_flag)
+        return (None, None, flags)
+
+    def cmake_args(self):
+        args = [
+            "-DWITH_AXL_PREFIX=%s" % self.spec['axl'].prefix,
+            "-DWITH_ER_PREFIX=%s" % self.spec['er'].prefix,
+            "-DBOOST_ROOT=%s" % self.spec['boost'].prefix
+        ]
+
+        return args