-
Notifications
You must be signed in to change notification settings - Fork 8
/
Copy pathgarden-install-helper
executable file
·121 lines (105 loc) · 2.42 KB
/
garden-install-helper
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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
#!/bin/sh
eval "$(garden-exec)"
set -e
NAME=msys
# module versions that scripts in ./tools need to know
. ./env.sh
# shared library dependencies
SCONS=scons/3.1.2-01c7
GCC=gcc/11.2.0-04c7/
BOOST=boost/1.75.0-gcc11.2-py3.10-02c7/
LPSOLVE=lp-solve/5.5.2.0-01c7
INCHI=inchi/1.05-01c7
SQLITE=sqlite/3.32.2-02c7
SCONSUTILS=sconsutils/1.55c7
RAPIDJSON=rapidjson/1.1.0-01c7
TNG=tng/1.8.2-03c7
GBENCH=gbench/1.5.0-02c7
PYBIND11=pybind11/2.7.1-01c7
BLISS=bliss/0.73-02c7
CEREAL=cereal/1.3.2-01c7
PERFTOOLS=gperftools/2.7-01c7
LZ4=lz4/1.9.1-01c7
ZSTD=zstd/1.4.4-01c7
loadmodules() {
garden load \
$GCC/bin \
$PYTHON3/bin \
$SCONS/bin \
$SCONS/lib-python37 \
$BOOST/lib \
$LPSOLVE/lib \
$INCHI/lib \
$SQLITE/lib-static \
$SCONSUTILS/lib-python37 \
$RAPIDJSON/lib \
$TNG/lib \
$GBENCH/lib \
$PYBIND11/lib \
$BLISS/lib \
$CEREAL/lib \
$PERFTOOLS/lib \
$LZ4/lib \
$ZSTD/lib \
enscons/0.23.0-01c7/lib-python37 \
texlive/2019-20190410-01c7/bin \
export PYTHONVER=310
export MSYS_WITH_LPSOLVE=1
export MSYS_WITH_INCHI=1
export MSYS_WITH_TNG=1
export MSYS_WITH_BENCHMARK=1
export MSYS_WITH_BLISS=1
export MSYS_WITH_LZ4=1
export MSYS_WITH_ZSTD=1
}
genmodules() {
cat << EOF > $GARDENDIR/lib-python310
prepend-path PYTHONPATH $PREFIX/lib/python
EOF
# library
cat << EOF > $GARDENDIR/lib
prepend-path DESRES_MODULE_CPPFLAGS -I$PREFIX/include
prepend-path DESRES_MODULE_LDFLAGS -L$PREFIX/lib:-Wl,-rpath,$PREFIX/lib
prereq $BOOST/lib
prereq $PYBIND11/lib
EOF
# executables
cat << EOF > $GARDENDIR/bin
prepend-path PATH $PREFIX/bin
EOF
}
genhelp() {
cat <<EOF
Molecular structure and forcefield tools.
Release notes:
EOF
cat doc/source/release_notes.txt
}
gendocs() {
prefix=${PREFIX:-$PWD/build}
(cd doc && BINDIR=$prefix/bin garden with -m $PYTHON3/bin make clean genhelp html latexpdf)
cp -r doc/build/html $PREFIX/doc/
}
case $1 in
--name)
echo $NAME
;;
--version)
echo `src/version.py`c7
;;
--exec)
shift
loadmodules
"$@"
;;
--install)
loadmodules
nprocs=`getconf _NPROCESSORS_ONLN`
$0 --exec scons install -j $nprocs PREFIX=$PREFIX OBJDIR=$TMPDIR
./tests/run.sh -n `nproc`
genhelp >> $METADIR/help.txt
genmodules
gendocs
;;
esac
exit 0