|
1 | 1 | #!/bin/bash -e |
2 | 2 |
|
3 | | -if [ -n "$TRAVIS_BUILD_DIR" ] |
| 3 | +# Install evm. |
| 4 | + |
| 5 | +if [ ! -d $HOME/.evm ] |
4 | 6 | then |
5 | | - PROJECT_ROOT=$TRAVIS_BUILD_DIR |
| 7 | + git clone https://github.com/rejeep/evm $HOME/.evm |
6 | 8 | else |
7 | | - PROJECT_ROOT=/vagrant |
| 9 | + git -C $HOME/.evm pull |
8 | 10 | fi |
9 | 11 |
|
10 | | -# Create tramp user. |
11 | | - |
12 | | -TRAMP_USER=test |
13 | | -TRAMP_HOME=/home/$TRAMP_USER |
14 | | - |
15 | | -sudo useradd --home $TRAMP_HOME --create-home --user-group $TRAMP_USER |
16 | | - |
17 | | -# Register tramp host. |
18 | | - |
19 | | -ssh-keygen -t rsa -b 4096 -f $HOME/.ssh/id_rsa -N '' |
20 | | -touch $HOME/.ssh/known_hosts |
21 | | -ssh-keygen -R localhost |
22 | | -ssh-keyscan -H localhost > $HOME/.ssh/known_hosts |
23 | | - |
24 | | -# Authorize localhost for tramp user. |
25 | | - |
26 | | -sudo -u $TRAMP_USER mkdir -p $TRAMP_HOME/.ssh |
27 | | -sudo -u $TRAMP_USER sh -c "echo '$(cat $HOME/.ssh/id_rsa.pub)' > $TRAMP_HOME/.ssh/authorized_keys" |
| 12 | +EVM_DIR=$HOME/.evm/versions |
28 | 13 |
|
29 | | -# Update mirrors list. |
| 14 | +mkdir -p $EVM_DIR |
30 | 15 |
|
31 | | -sudo apt-get update |
| 16 | +PATH=$HOME/.evm/bin:$HOME/.cask/bin:$PATH |
32 | 17 |
|
33 | | -# Install Emacs build dependencies. |
| 18 | +evm config path $EVM_DIR |
34 | 19 |
|
35 | | -sudo apt-get install -y libncurses-dev libxpm-dev libxaw7-dev \ |
36 | | - libtiff4-dev libpng-dev libgif-dev autoconf \ |
37 | | - automake texinfo make git |
38 | | - |
39 | | -# Build Emacs. |
40 | | - |
41 | | -EMACS_DIR=$HOME/.emacs |
42 | | -EMACS_SRC=$EMACS_DIR/src |
43 | | -EMACS_VERSIONS=(emacs-24.3 emacs-24.4 emacs-24.5) |
44 | | - |
45 | | -mkdir -p $EMACS_DIR $EMACS_SRC |
46 | | - |
47 | | -for VERSION in ${EMACS_VERSIONS[@]} |
48 | | -do |
49 | | - FILE=${VERSION}.tar.xz |
50 | | - PREFIX=$EMACS_DIR/$VERSION |
51 | | - cd $EMACS_SRC |
52 | | - wget -q http://ftp.gnu.org/gnu/emacs/$FILE |
53 | | - tar xvJf $FILE |
54 | | - cd $VERSION |
55 | | - ./configure --prefix=$PREFIX |
56 | | - make |
57 | | - make install |
58 | | - rm $PREFIX/bin/emacs |
59 | | -done |
| 20 | +evm install emacs-24.3 --skip |
| 21 | +evm install emacs-24.4 --skip |
| 22 | +evm install emacs-24.5 --skip |
| 23 | +evm install emacs-git-snapshot --skip |
60 | 24 |
|
61 | 25 | # Install cask. |
62 | 26 |
|
63 | | -CASK_DIR=$HOME/.cask |
64 | | - |
65 | | -if [ -d $CASK_DIR ] |
| 27 | +if [ ! -d $HOME/.cask ] |
66 | 28 | then |
67 | | - cd $CASK_DIR |
68 | | - git pull |
| 29 | + git clone https://github.com/cask/cask $HOME/.cask |
69 | 30 | else |
70 | | - git clone https://github.com/cask/cask $CASK_DIR |
| 31 | + git -C $HOME/.cask pull |
71 | 32 | fi |
72 | 33 |
|
73 | | -cd $PROJECT_ROOT |
| 34 | +evm use emacs-24.3 |
| 35 | +cask --path /vagrant/ install |
| 36 | +cask --path /vagrant/ update |
| 37 | + |
| 38 | +evm use emacs-24.4 |
| 39 | +cask --path /vagrant/ install |
| 40 | +cask --path /vagrant/ update |
74 | 41 |
|
75 | | -export PATH=$PATH:$HOME/.cask/bin:$EMACS_DIR/emacs-24.3/bin:$EMACS_DIR/emacs-24.4/bin:$EMACS_DIR/emacs-24.5/bin |
| 42 | +evm use emacs-24.5 |
| 43 | +cask --path /vagrant/ install |
| 44 | +cask --path /vagrant/ update |
76 | 45 |
|
77 | | -for VERSION in ${EMACS_VERSIONS[@]} |
78 | | -do |
79 | | - EMACS=$VERSION cask install |
80 | | - EMACS=$VERSION cask update |
81 | | -done |
| 46 | +evm use emacs-git-snapshot |
| 47 | +cask --path /vagrant/ install |
| 48 | +cask --path /vagrant/ update |
82 | 49 |
|
83 | 50 | # Copy bashrc. |
84 | 51 |
|
85 | | -cp $PROJECT_ROOT/scripts/bashrc $HOME/.bashrc |
| 52 | +cp /vagrant/script/bashrc $HOME/.bashrc |
0 commit comments