blob: 1284a73a45273fbb70b66ac22b952f29d385b7e6 (
plain)
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
|
#! /bin/sh
#
# //node/install
#
# export version=X.Y.Z to install a specific version
# otherwise the latest upstream version will be determined and used
#
# export force=true to install even though it already seems to be installed
#
# export clean=true to first wipe any generated files
#
set -xeuf
# cd //node
cd $(readlink -f $(dirname $0))
# PATH prepend //node/tools //util/bin
export PATH="$PWD/tools:$PWD/../util/bin${PATH+:$PATH}"
if test "${force-false}" = true; then
: # skip check if it is already installed
else
if test -e ../bin/node; then
: '[32m//bin/node[m # is already installed'
exit
fi
fi
if test "${clean-false}" = true; then
rm -fR src out
fi
test -d src || mkdir -v src
cd src
version=${version-`latest-version`}
target=node-v$version
distfile=$target.tar.gz
download() {
curl -C - -so $distfile http://nodejs.org/dist/v$version/$distfile ||
curl -C - -so $distfile http://nodejs.org/dist/$distfile || :
}
is_downloaded() {
gzip -t $distfile 2>/dev/null
}
if ! is_downloaded; then
download
if ! is_downloaded; then
rm -f $distfile
download
fi
if ! is_downloaded; then
rm -f $distfile
echo failed to download distfile
exit 1
fi
fi
if ! zcat $distfile | tar -x --keep-newer-files 2>/dev/null; then
rm -fR $target
zcat $distfile | tar -x
fi
cd ..
prefix=out/$target
mkdir -p $prefix
prefix=`readlink -f $prefix`
cd src/$target
./configure --prefix=$prefix
CPPFLAGS=-Wno-unused-but-set-variable make
make install
cd ../..
ln -snf ../node/out/$target/bin/node ../bin/node
|