Browse Source

Install erlang/elixir from source to remove sudo command

ext.bwaite 10 years ago
parent
commit
f19a040ff0

+ 2 - 0
frameworks/Elixir/phoenix/setup.sh

@@ -1,5 +1,7 @@
 #!/bin/bash
 
+export PATH=$PATH:$ERL_BIN:$ELX_BIN
+
 # sed -i 's|db_host: "localhost",|db_host: "${DBHOST}",|g' config/config.exs
 
 mix local.hex --force

+ 5 - 0
frameworks/Erlang/cowboy/bash_profile.sh

@@ -0,0 +1,5 @@
+#!/bin/bash
+
+export REBAR_HOME=$IROOT/rebar
+export ERL_BIN=$IROOT/erlang/bin
+export ERL_LIB=$IROOT/erlang/lib

+ 3 - 1
frameworks/Erlang/cowboy/setup_erlang.sh

@@ -1,9 +1,11 @@
 #!/bin/bash
 export REBAR_HOME=$IROOT/rebar
 
+export PATH=$PATH:$ERL_BIN
+
 sed -i 's|"benchmarkdbpass", ".*", 3306|"benchmarkdbpass", "'"${DBHOST}"'", 3306|g' src/hello_world_app.erl
 
 rm -rf deps/*
 $REBAR_HOME/rebar get-deps
 $REBAR_HOME/rebar compile
-erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s hello_world -noshell -detached
+erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s hello_world -noshell -detached

+ 5 - 0
frameworks/Erlang/elli/bash_profile.sh

@@ -0,0 +1,5 @@
+#!/bin/bash
+
+export REBAR_HOME=$IROOT/rebar
+export ERL_BIN=$IROOT/erlang/bin
+export ERL_LIB=$IROOT/erlang/lib

+ 3 - 1
frameworks/Erlang/elli/setup_erlang.sh

@@ -1,9 +1,11 @@
 #!/bin/bash
 export REBAR_HOME=$IROOT/rebar
 
+export PATH=$PATH:$ERL_BIN
+
 sed -i 's|"benchmarkdbpass", ".*", 3306|"benchmarkdbpass", "'"${DBHOST}"'", 3306|g' src/elli_bench_sup.erl
 
 rm -rf deps/*
 $REBAR_HOME/rebar get-deps
 $REBAR_HOME/rebar compile
-erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s elli_bench -noshell -detached
+erl -pa ebin deps/*/ebin +sbwt very_long +swt very_low -s elli_bench -noshell -detached

+ 11 - 1
toolset/setup/linux/languages/elixir.sh

@@ -4,6 +4,16 @@ RETCODE=$(fw_exists ${IROOT}/elixir.installed)
 [ ! "$RETCODE" == 0 ] || { return 0; }
 
 fw_depends erlang
-sudo apt-get install -y elixir
+export PATH=$PATH:$IROOT/erlang/bin
+
+VERSION="1.0.4"
+fw_get https://codeload.github.com/elixir-lang/elixir/tar.gz/v${VERSION}
+fw_untar v${VERSION}
+
+(
+	mv elixir-${VERSION} elixir
+	cd elixir
+	make compile
+)
 
 touch ${IROOT}/elixir.installed

+ 11 - 5
toolset/setup/linux/languages/erlang.sh

@@ -3,10 +3,16 @@
 RETCODE=$(fw_exists ${IROOT}/erlang.installed)
 [ ! "$RETCODE" == 0 ] || { return 0; }
 
-wget http://packages.erlang-solutions.com/erlang-solutions_1.0_all.deb
-sudo dpkg -i erlang-solutions_1.0_all.deb
+export OTP_SRC="otp_src_17.5"
+fw_get http://www.erlang.org/download/${OTP_SRC}.tar.gz
+fw_untar ${OTP_SRC}.tar.gz
 
-sudo apt-get -y update
-sudo apt-get install -y esl-erlang
+(
+	cd $OTP_SRC
+	export ERL_TOP=`pwd`
+	./configure --prefix=$IROOT/erlang --without-termcap
+	make
+	make install
+)
 
-touch ${IROOT}/erlang.installed
+touch ${IROOT}/erlang.installed

+ 4 - 1
toolset/setup/linux/systools/rebar.sh

@@ -3,10 +3,13 @@
 RETCODE=$(fw_exists $IROOT/rebar.installed)
 [ ! "$RETCODE" == 0 ] || { return 0; }
 
+fw_depends erlang
+export PATH=$PATH:$IROOT/erlang/bin
+
 fw_get https://github.com/rebar/rebar/archive/2.5.1.tar.gz -O rebar-2.5.1.tar.gz
 fw_untar rebar-2.5.1.tar.gz
 mv rebar-2.5.1 rebar
 cd rebar
 ./bootstrap
 
-touch $IROOT/rebar.installed
+touch $IROOT/rebar.installed