UNPKG

1.82 kBapplication/x-shView Raw
1#!/bin/bash
2
3install_node(){
4 local node_version="$1"
5 local os_arch="$2"
6 echo "* installing node $node_version"
7 nvm install "$node_version"
8 local base_url="$(node -p "v=parseInt(process.versions.node),(v>=1&&v<4?'https://iojs.org/dist/':'https://nodejs.org/dist/')+process.version")"
9 local x86_file=$(node -p "v=parseInt(process.versions.node),(v>=1&&v<4?'iojs':'node')+'-'+process.version+'-'+process.platform+'-x86'")
10 if [[ "$os_arch" == "386" ]]; then
11 pushd "/tmp" > /dev/null
12 echo '* download node for x86'
13 wget "$base_url/$x86_file.tar.gz";
14 tar -xf $x86_file.tar.gz;
15 export PATH=$x86_file/bin:$PATH;
16 popd > /dev/null
17 fi
18}
19
20install_nvm(){
21 echo '* install nvm'
22 rm -rf ~/.nvm
23 git clone https://github.com/creationix/nvm.git ~/.nvm || return 1
24 pushd ~/.nvm > /dev/null
25 git checkout `git describe --abbrev=0 --tags` || return 1
26 popd > /dev/null
27 source ~/.nvm/nvm.sh
28}
29
30setup(){
31 local os_name="$1"
32 echo '* setting up CXX'
33 if [[ "$os_name" == "linux" ]]; then
34 export CXX=g++-4.8;
35 fi
36}
37
38verify(){
39 echo '* verifying npm'
40 npm --version
41 echo '* verifying node'
42 node --version
43 echo '* verifying CXX'
44 $CXX --version
45}
46
47main(){
48 echo '* installing node'
49 local node_version="$PACKAGER_NODE_VERSION"
50 if [ -z "$node_version" ]; then
51 echo 'Missing PACKAGER_NODE_VERSION environment'
52 exit 1
53 fi
54 local os_name="$TRAVIS_OS_NAME"
55 if [ -z "$os_name" ]; then
56 echo 'Missing TRAVIS_OS_NAME environment'
57 exit 1
58 fi
59 local os_arch="$PACKAGER_ARCH"
60 if [ -z "$os_arch" ]; then
61 echo 'Missing PACKAGER_ARCH environment'
62 exit 1
63 fi
64
65 setup "$os_name" && \
66 install_nvm && \
67 install_node "$node_version" "$os_arch" && \
68 verify && \
69 echo '* done' && \
70 exit 0
71
72 echo 'node install failed'
73 exit 1
74}
75
76main