diff options
author | EUcancER <root@euer.krebsco.de> | 2011-08-31 12:52:15 +0200 |
---|---|---|
committer | EUcancER <root@euer.krebsco.de> | 2011-08-31 12:52:15 +0200 |
commit | 8e2af5a9f643632b96564706313edd4524f81bfd (patch) | |
tree | 10e31222000cc4e289c555f6eb487502c273afb4 /node/install | |
parent | efe72ae286caa4ecf88edcbcb619fb0ceb886ca8 (diff) | |
parent | 9030631edd4f5e44234fe77348b92190874f42a2 (diff) |
Gigantor Merge!
Conflicts:
cholerab/news/Candidate - add Ante scriptum
cholerab/shirts/bestellliste - merged as theirs
oncology/dpfhack_display - now a submodule
add bug-fixing for adv_graphgen, as well as a Makefile
Diffstat (limited to 'node/install')
-rwxr-xr-x | node/install | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/node/install b/node/install new file mode 100755 index 00000000..1284a73a --- /dev/null +++ b/node/install @@ -0,0 +1,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 |