forked from alisw/alidist
-
Notifications
You must be signed in to change notification settings - Fork 0
/
dim.sh
57 lines (50 loc) · 1.53 KB
/
dim.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
package: dim
version: "v20r24"
requires:
- "GCC-Toolchain:(?!osx)"
build_requires:
- curl
- motif
---
#!/bin/bash -e
FILE_NAME="dim_$PKGVERSION"
ZIP_NAME="$FILE_NAME.zip"
URL="https://dim.web.cern.ch/dim/$ZIP_NAME"
curl -L -O $URL
unzip $ZIP_NAME
cd $FILE_NAME
# setup.sh is DOS-encoded
tr -d '\015' < setup.sh > setup2.sh
mv setup2.sh setup.sh
# DIM installation needs `gmake` (`make` is not sufficient)
mkdir buildbin
export PATH="$PWD/buildbin:$PATH"
ln -nfs $(which make) buildbin/gmake
# Build (needs special environment)
( export OS=Linux
source setup.sh
gmake realclean
gmake X64=yes )
# Installation
rsync -av dim/ $INSTALLROOT/dim/ # headers
rsync -av --exclude "*.o" linux/ $INSTALLROOT/ # executables and libraries
# Modulefile
mkdir -p etc/modulefiles
cat > etc/modulefiles/$PKGNAME <<EoF
#%Module1.0
proc ModulesHelp { } {
global version
puts stderr "ALICE Modulefile for $PKGNAME $PKGVERSION-@@PKGREVISION@$PKGHASH@@"
}
set version $PKGVERSION-@@PKGREVISION@$PKGHASH@@
module-whatis "ALICE Modulefile for $PKGNAME $PKGVERSION-@@PKGREVISION@$PKGHASH@@"
# Dependencies
module load BASE/1.0 ${GCC_TOOLCHAIN_ROOT:+GCC-Toolchain/$GCC_TOOLCHAIN_VERSION-$GCC_TOOLCHAIN_REVISION}
# Our environment
set DIM_ROOT \$::env(BASEDIR)/$PKGNAME/\$version
setenv DIM_ROOT \$DIM_ROOT
set BASEDIR \$::env(BASEDIR)
prepend-path PATH \$BASEDIR/$PKGNAME/\$version
prepend-path LD_LIBRARY_PATH \$BASEDIR/$PKGNAME/\$version
EoF
mkdir -p $INSTALLROOT/etc/modulefiles && rsync -a --delete etc/modulefiles/ $INSTALLROOT/etc/modulefiles