-
Notifications
You must be signed in to change notification settings - Fork 27
/
PROJ.4-7.0.0_install
executable file
·81 lines (66 loc) · 2.45 KB
/
PROJ.4-7.0.0_install
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
#!/usr/bin/env bash
###############################################
# Installing PROJ.4 using GCC
#
# by Brian Alston, 2015
#
# Updated November 2016 to add missing proj_def.dat
# to .../PROJ.4/4.9.1/share/proj/
# Updated April 2019 for version 6.0.0
# Updated June 2019 for version 6.1.0
# Updated July 2019 to add epasg datum file required by R package sf
# Updated April 2020 for version 7.0.0 using GNU 9.2.0
#
# Using Ian's require function to load modules
#
# Will need modules: rcps-core/1.0.0, gcc-libs/4.9.2, compilers/gnu/4.9.2
# Now needs gcc-libs/9.2.0, compilers/gnu/9.2.0 and sqlite/3.31.1/gnu-9.2.0 from beta-modules
VERSION=${VERSION:-7.0.0}
DATA_VERSION=${DATA_VERSION:-1.0}
DATUM_VERSION=${DATUM_VERSION:-1.8}
INSTALL_PREFIX=${INSTALL_PREFIX:-/shared/ucl/apps/PROJ.4/${VERSION}}
MD5=${MD5:-5b546675935b930a6266449228c82635}
SRC_ARCHIVE=${SRC_ARCHIVE:- https://download.osgeo.org/proj/proj-${VERSION}.tar.gz}
DATUM_ARCHIVE=${DATUM_ARCHIVE:- http://download.osgeo.org/proj/proj-datumgrid-${DATUM_VERSION}.zip}
EPSG_ARCHIVE=${EPSG_ARCHIVE:- https://rpmfind.net/linux/fedora/linux/releases/30/Everything/aarch64/os/Packages/p/proj-epsg-5.2.0-1.fc30.aarch64.rpm}
export PATH=$INSTALL_PREFIX/bin:$PATH
dirname=$(dirname $0 2>/dev/null || pwd)
INCLUDES_DIR=${INCLUDES_DIR:-${dirname}/includes}
source ${INCLUDES_DIR}/module_maker_inc.sh
source ${INCLUDES_DIR}/require_inc.sh
require rcps-core/1.0.0
require beta-modules
require gcc-libs/9.2.0
require compilers/gnu/9.2.0
require sqlite/3.31.1/gnu-9.2.0
# require gmt/recommended
temp_dir=`mktemp -d -p /dev/shm`
cd $temp_dir
wget $SRC_ARCHIVE
# wget $DATUM_ARCHIVE
wget $EPSG_ARCHIVE
CHECKSUM=`md5sum proj-${VERSION}.tar.gz| awk '{print $1}'`
# Suggest build sequence is slighty different than previous versions.
if [[ "$MD5" == "$CHECKSUM" ]]
then
tar xvzf proj-${VERSION}.tar.gz
cd proj-${VERSION}
./configure --prefix=${INSTALL_PREFIX} 2>&1 | tee configure-log
# cd data
# unzip -x ../../proj-datumgrid-${DATUM_VERSION}.zip
# cd ..
make 2>&1 | tee make-log
make check 2>&1 | tee make-check-log
make install 2>&1 | tee make-install-log
# Get data files
export PATH=${INSTALL_PREFIX}/bin:$PATH
projsync --system-directory --all
cd $temp_dir
# epsg is required by R package sf
rpm2cpio proj-epsg-5.2.0-1.fc30.aarch64.rpm | cpio -idmv
cp ./usr/share/proj/epsg ${INSTALL_PREFIX}/share/proj/
else
echo "***** Hash mismatch,"
echo " Expected: $MD5"
echo " Got: $CHECKSUM"
fi