Repository: spack/spack

Issue:
Add a bundle package for the ECP proxy applications suite
Fix #5646


Discussion:

Resolving patch:
diff --git a/var/spack/repos/builtin/packages/ecp-proxy-apps/package.py b/var/spack/repos/builtin/packages/ecp-proxy-apps/package.py
new file mode 100644
--- /dev/null
+++ b/var/spack/repos/builtin/packages/ecp-proxy-apps/package.py
@@ -0,0 +1,55 @@
+##############################################################################
+# Copyright (c) 2013-2017, 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 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
+##############################################################################
+
+import os
+from spack import *
+
+
+class EcpProxyApps(Package):
+    """This is a collection of packages that represents the official suite of
+       DOE/ECP proxy applications. This is a Spack bundle package that
+       installs the ECP proxy application suite.
+    """
+
+    homepage = "https://exascaleproject.github.io/proxy-apps"
+
+    # Dummy url
+    url = 'https://github.com/exascaleproject/proxy-apps/archive/v0.9.tar.gz'
+
+    tags = ['proxy-app', 'ecp-proxy-app']
+
+    version('0.9', '395e9d79ae93e8ad71f1ec9773abdd43')
+
+    depends_on('miniamr@1.0', when='@0.9')
+    depends_on('xsbench@13', when='@0.9')
+
+    # Dummy install for now,  will be removed when metapackage is available
+    def install(self, spec, prefix):
+        with open(os.path.join(spec.prefix, 'package-list.txt'), 'w') as out:
+            for dep in spec.dependencies(deptype='build'):
+                out.write("%s\n" % dep.format(
+                    format_string='${PACKAGE} ${VERSION}'))
+                os.symlink(dep.prefix, os.path.join(spec.prefix, dep.name))
+            out.close()
diff --git a/var/spack/repos/builtin/packages/miniamr/package.py b/var/spack/repos/builtin/packages/miniamr/package.py
--- a/var/spack/repos/builtin/packages/miniamr/package.py
+++ b/var/spack/repos/builtin/packages/miniamr/package.py
@@ -34,7 +34,7 @@ class Miniamr(MakefilePackage):
     homepage = "https://mantevo.org"
     url      = "http://mantevo.org/downloads/releaseTarballs/miniapps/MiniAMR/miniAMR_1.0_all.tgz"
 
-    tags = ['proxy-app']
+    tags = ['proxy-app', 'ecp-proxy-app']
 
     version('1.0', '812e5aaaab99689a4e9381a3bbd718a6')
 
diff --git a/var/spack/repos/builtin/packages/xsbench/package.py b/var/spack/repos/builtin/packages/xsbench/package.py
--- a/var/spack/repos/builtin/packages/xsbench/package.py
+++ b/var/spack/repos/builtin/packages/xsbench/package.py
@@ -35,7 +35,7 @@ class Xsbench(MakefilePackage):
     homepage = "https://github.com/ANL-CESAR/XSBench/"
     url = "https://github.com/ANL-CESAR/XSBench/archive/v13.tar.gz"
 
-    tags = ['proxy-app']
+    tags = ['proxy-app', 'ecp-proxy-app']
 
     version('13', '72a92232d2f5777fb52f5ea4082aff37')
 


Test patch: