1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
|
# Copyright 2013-2020 Lawrence Livermore National Security, LLC and other
# Spack Project Developers. See the top-level COPYRIGHT file for details.
#
# SPDX-License-Identifier: (Apache-2.0 OR MIT)
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.
"""
tags = ['proxy-app', 'ecp-proxy-app']
maintainers = ['bhatele']
homepage = "https://proxyapps.exascaleproject.org"
# Dummy url
url = 'https://github.com/exascaleproject/proxy-apps/archive/v1.0.tar.gz'
version('2.1', sha256='604da008fc4ef3bdbc25505088d610333249e3e9745eac7dbfd05b91e33e218d')
version('2.0', sha256='5f3cb3a772224e738c1dab42fb34d40f6b313af51ab1c575fb334e573e41e09a')
version('1.1', sha256='8537e03588c0f46bebf5b7f07146c79812f2ebfb77d29e184baa4dd5f4603ee3')
version('1.0', sha256='13d9795494dabdb4c724d2c0f322c2149b2507d2fd386ced12b54292b7ecf595')
variant('candle', default=False,
description='Also build CANDLE Benchmarks')
# Added with release 2.1
depends_on('amg@1.2', when='@2.1:')
depends_on('miniamr@1.4.3', when='@2.1:')
# Added with release 2.0
depends_on('ember@1.0.0', when='@2.0:')
depends_on('miniqmc@0.4.0', when='@2.0:')
depends_on('minivite@1.0', when='@2.0:')
depends_on('picsarlite@0.1', when='@2.0:')
depends_on('thornado-mini@1.0', when='@2.0:')
depends_on('candle-benchmarks@0.1', when='+candle @2.0:')
depends_on('laghos@2.0', when='@2.0:')
depends_on('macsio@1.1', when='@2.0:')
depends_on('sw4lite@1.1', when='@2.0:')
depends_on('xsbench@18', when='@2.0:')
# Dependencies for version 2.0
depends_on('amg@1.1', when='@2.0')
depends_on('miniamr@1.4.1', when='@2.0')
# Added with release 1.1
depends_on('examinimd@1.0', when='@1.1:')
depends_on('nekbone@17.0', when='@1.0:')
depends_on('swfft@1.0', when='@1.0:')
# Dependencies for versions 1.0:1.1
depends_on('amg@1.0', when='@1.0:1.1')
depends_on('candle-benchmarks@0.0', when='+candle @1.0:1.1')
depends_on('laghos@1.0', when='@1.0:1.1')
depends_on('macsio@1.0', when='@1.0:1.1')
depends_on('miniamr@1.4.0', when='@1.0:1.1')
depends_on('sw4lite@1.0', when='@1.0:1.1')
depends_on('xsbench@14', when='@1.0:1.1')
# Removed after release 1.1
depends_on('minife@2.1.0', when='@1.0:1.1')
depends_on('minitri@1.0', when='@1.0:1.1')
# Removed after release 1.0
depends_on('comd@1.1', when='@1.0')
# 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()
|