-
Notifications
You must be signed in to change notification settings - Fork 0
/
register_packages.sh
executable file
·94 lines (78 loc) · 1.73 KB
/
register_packages.sh
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
83
84
85
86
87
88
89
90
91
92
93
94
#!/bin/bash
set -e
########################################### PARSE ARGUMENTS ################################################
if [ $# -ne 1 ]; then
echo $0: USAGE: $0 COMPILERS_INSTALL_PREFIX
exit 1
fi
compilers_install_prefix=$1
declare -a packages=(
'autoconf'
'automake'
'bison'
'cairo'
'cmake'
'curl'
'environment-modules'
'flex'
'fontconfig'
'glib'
'hwloc'
'libedit'
'libjpeg'
'libmng'
'libtool'
'libx11'
'lua'
'm4'
'ncurses'
'pango'
'pcre'
'perl'
'pkg-config'
'readline'
'slurm'
'sqlite'
'tar'
'tcl'
'tk'
'xz'
)
compilers=(
'gcc@7.2.0'
'gcc@5.3.0'
'gcc@4.9.3'
'gcc@4.8.4'
'clang@4.0.1'
'intel@17.0.4'
'pgi@17.4'
)
cp step2/config.yaml $SPACK_HOME/spack/etc/spack/defaults/linux/
cp step2/modules.yaml $SPACK_HOME/spack/etc/spack/defaults/linux/
cp step2/packages.yaml $SPACK_HOME/spack/etc/spack/defaults/linux/
# for each compiler
for compiler in "${compilers[@]}"
do
cp step2/packages.yaml $SPACK_HOME/spack/etc/spack/defaults/linux/packages.yaml
sed -i "s/\[gcc@4.9.3]/\[$compiler]/g" $SPACK_HOME/spack/etc/spack/defaults/linux/packages.yaml
for package in "${packages[@]}"
do
spack install $package %$compiler
done
done
core_compiler='gcc@4.8.4'
compilers=(
'gcc@7.2.0'
'gcc@5.3.0'
'gcc@4.9.3'
'llvm@4.0.1'
'intel@17.0.4'
'pgi@17.4'
)
cp step2/packages.yaml $SPACK_HOME/spack/etc/spack/defaults/linux/packages.yaml
sed -i "s#COMPILERS_INSTALL_PREFIX#$compilers_install_prefix#g" $SPACK_HOME/spack/etc/spack/defaults/linux/packages.yaml
for compiler in "${compilers[@]}"
do
spack install $compiler %$core_compiler
done
spack find -p